Помогите найти отчего запускаются два дубля циклов

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

Помогите найти отчего запускаются два дубля циклов

Сообщение yurat2008 » Ср мар 08, 2017 12:28 am

Вот так выглядит загрузка на Raspbery Pi 3 Jessie
Как видно все запускается попарно. Вопрос как найти где задвоенный запуск

Строчка @reboot /usr/bin/php /var/www/cycle.php есть только в /etc/crontab больше нигде не нашел.

Подскажите куда копать?

Код: Выделить всё

23:15:59 0.97881000 Starting ./scripts/cycle_snmp.php ... 
23:15:59 0.95126600 Starting ./scripts/cycle_snmp.php ... 
23:15:59 0.88073200 Starting ./scripts/cycle_execs.php ... 
23:15:59 0.86068500 Starting ./scripts/cycle_execs.php ... 
23:15:59 0.74850200 Starting ./scripts/cycle_states.php ... 
23:15:59 0.73058700 Starting ./scripts/cycle_states.php ... 
23:15:59 0.62907900 Starting ./scripts/cycle_bluetooth.php ... 
23:15:59 0.62041900 Starting ./scripts/cycle_bluetooth.php ... 
Starting ./scripts/cycle_alarmclock.php ... 
23:15:59 0.5110420023:15:59 0.51104200 Starting ./scripts/cycle_alarmclock.php ... 
23:15:59 0.41250600 Starting ./scripts/cycle_scheduler.php ... 
23:15:59 0.40253500 Starting ./scripts/cycle_scheduler.php ... 
23:15:59 0.31590500 Starting ./scripts/cycle_narodmon2.php ... 
23:15:59 0.31189100 Starting ./scripts/cycle_narodmon2.php ... 
23:15:59 0.27930800 Starting ./scripts/cycle_X101_skype.php ... 
23:15:59 0.24220600 Starting ./scripts/cycle_X101_skype.php ... 
23:15:59 0.17497000 Starting ./scripts/cycle_webvars.php ... 
23:15:59 0.17335100 Starting ./scripts/cycle_webvars.php ... 
Starting ./scripts/cycle_mqtt.php ... 
23:15:59 0.1202430023:15:59 0.12034600 Starting ./scripts/cycle_mqtt.php ...


Нашел, может кому пригодится

Первый запуск отсюда
Безымянный.jpg
Безымянный.jpg (41.22 КБ) 7369 просмотров
Второй
/etc/crontab

строкой @reboot www-data /usr/bin/php /var/www/cycle.php
Закоментарил строку в crontab и все стало ляля

Код: Выделить всё

00:09:48 0.41596000 ivona_tts.processSubscription (SAY)
00:03:34 0.40513700 Removing cached file /var/www/cached/b
00:03:34 0.40476300 Removing cached file /var/www/cached/9
00:03:34 0.40378400 Removing cached file /var/www/cached/1
00:02:54 0.41227800 Backing up files...
00:02:49 0.97677700 Closing thread: exec php -q ./scripts/cycle_skype.php --params "a:0:{}">>/var/www/debmes/log_2017-03-08-cycle_skype.php.txt
00:02:49 0.97623400 Closing thread: exec php -q ./scripts/cycle_websockets.php --params "a:0:{}">>/var/www/debmes/log_2017-03-08-cycle_websockets.php.txt
00:02:49 0.97522800 Closing thread: exec php -q ./scripts/cycle_snmp.php --params "a:0:{}">>/var/www/debmes/log_2017-03-08-cycle_snmp.php.txt
00:02:49 0.97010000 Closing thread: DISPLAY=:101 php ./scripts/cycle_X101_skype.php --params "a:0:{}"
00:02:49 0.40406100 Running maintenance script
00:02:48 0.92089900 Closing thread: exec php -q ./scripts/cycle_connect.php --params "a:0:{}">>/var/www/debmes/log_2017-03-08-cycle_connect.php.txt
00:02:47 0.26648100 Starting ./scripts/cycle_skype.php ... 
00:02:47 0.20439800 Starting ./scripts/cycle_websockets.php ... 
00:02:47 0.10880700 Starting ./scripts/cycle_rss.php ... 
00:02:47 0.02924200 Starting ./scripts/cycle_main.php ... 
00:02:46 0.97607200 Starting ./scripts/cycle_schedapp.php ... 
00:02:46 0.92248400 Starting ./scripts/cycle_cron.php ... 
00:02:46 0.87146300 Starting ./scripts/cycle_snmp.php ... 
00:02:46 0.82699200 Starting ./scripts/cycle_execs.php ... 
00:02:46 0.77064500 Starting ./scripts/cycle_states.php ... 
00:02:46 0.73086500 Starting ./scripts/cycle_bluetooth.php ... 
00:02:46 0.69745200 Starting ./scripts/cycle_alarmclock.php ... 
00:02:46 0.66061300 Starting ./scripts/cycle_scheduler.php ... 
00:02:46 0.63016500 Starting ./scripts/cycle_narodmon2.php ... 
00:02:46 0.59317600 Starting ./scripts/cycle_X101_skype.php ... 
00:02:46 0.56047400 Starting ./scripts/cycle_webvars.php ... 
00:02:46 0.53128500 Starting ./scripts/cycle_mqtt.php ... 
00:02:46 0.49663700 Starting ./scripts/cycle_connect.php ... 
00:02:46 0.46593200 Starting ./scripts/cycle_ping.php ... 
00:02:46 0.44238900 Starting ./scripts/cycle_narodmon.php ... 
00:00:16 0.94586400 connect.processSubscription (HOURLY)
00:00:16 0.93397600 optimizer.processSubscription (HOURLY)
Последний раз редактировалось yurat2008 Ср мар 08, 2017 1:16 am, всего редактировалось 2 раза.
За это сообщение автора yurat2008 поблагодарил:
VooDooN (Ср мар 08, 2017 4:16 pm)
Рейтинг: 1.16%
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение ipz » Ср мар 08, 2017 12:51 am

По какой инструкции устанавливали?
Настраивали запуск MDM как сервис? Если да, то оттуда.
Покажите вывод

Код: Выделить всё

ps axu | grep "cycle.php"| grep -v grep
Попробуйте закомментировать))) запуск из крон (поставьте в начале строки #) и перезагрузитесь. Стартовали циклы?
За это сообщение автора ipz поблагодарил:
yurat2008 (Ср мар 08, 2017 1:11 am)
Рейтинг: 1.16%
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение yurat2008 » Ср мар 08, 2017 1:12 am

Спасибо, нашел ответ - дописал сверху. Может кому пригодится

Код: Выделить всё

root@raspberrypi:~# ps axu | grep "cycle.php"| grep -v grep
root       534  0.0  0.3   7808  3108 ?        S    00:01   0:00 sudo -u root php /var/www/cycle.php
root       628  1.4  3.3  96064 31412 ?        S    00:01   0:14 php /var/www/cycle.php
Не совсем понял суть того что вывело на экран, всетаки дубляж остался?
Руслан
Сообщения: 193
Зарегистрирован: Чт дек 17, 2015 10:08 am
Откуда: Уфа
Благодарил (а): 36 раз
Поблагодарили: 14 раз

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение Руслан » Ср мар 08, 2017 2:04 pm

У меня тоже самое

Код: Выделить всё

14:03:39 0.84659000 Removing log file /var/www/debmes/log_2017-03-02-telegram.php.txt
14:03:39 0.84617800 Removing log file /var/www/debmes/log_2017-03-02-cycle_websockets.php.txt
14:03:39 0.84575600 Removing log file /var/www/debmes/log_2017-03-01-telegram.php.txt
14:03:39 0.84533500 Removing log file /var/www/debmes/log_2017-03-01-cycle_websockets.php.txt

Код: Выделить всё

pi@raspberrypi ~ $ ps axu | grep "cycle.php"| grep                                        -v grep
root      2366  0.0  0.2   3628  2248 ?        S                                           14:03   0:00 sudo -u root php /var/www/cycle.php
root      2385  1.5  3.0  78496 28604 ?        S                                           14:03   1:47 php /var/www/cycle.php
в /etc/crontab нет таких строк

Код: Выделить всё

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user    command
17 *    * * *    root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
как убрать второй цикл?
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение VooDooN » Ср мар 08, 2017 5:34 pm

Подозреваю, что это все моя вина :)
Если Вы брали образ по ссылке viewtopic.php?f=3&t=2989#p34929.

Если так, то я допустил оплошность в какой-то момент при создании образа и запуск циклов стал дублироваться при старте.
Попробуйте зайти в

Код: Выделить всё

sudo crontab -e -u pi
и закомментировать строку (поставить # в начале строки)

Код: Выделить всё

@reboot /usr/bin/php /var/www/cycle.php
Сохранить и перезапустить.
Руслан
Сообщения: 193
Зарегистрирован: Чт дек 17, 2015 10:08 am
Откуда: Уфа
Благодарил (а): 36 раз
Поблагодарили: 14 раз

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение Руслан » Ср мар 08, 2017 7:05 pm

в crontab таких строк у меня нет (если вы это мне).
а началось все действительно с образа на pi3, не помню с чьего: после установки накатил бекап туда с работающей pi2. работало все некоторое время на pi3, потом бекап поставил на pi2 из pi3.
теперь пытаюсь бороться с раздваиваниями всякими (циклы, менюшки всякие на веб странице раздваиваются, таймеры по две-четыре копии запускаются).все это на pi2
Последний раз редактировалось Руслан Ср мар 08, 2017 7:08 pm, всего редактировалось 1 раз.
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение yurat2008 » Ср мар 08, 2017 7:07 pm

Я брал за основу образ directman66 и допиливал, нахомутал когда делал root пользователя вместо pi
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Помогите найти отчего запускаются два дубля циклов

Сообщение ipz » Ср мар 08, 2017 8:23 pm

Советую убрать запуск из крона. Даже по обсуждению видно, что запуск может быть от имени root, pi, www-data - это все разные кронтабы...
Оставляйте только запуск сервисом, как указано в инструкции Сергея для Rpi
Пользователя, от чьего имени будут запускаться циклы можно указать в строке user="имя_пользователя" файла /etc/init.d/majordomo.
У меня вывод ps выглядит так:

Код: Выделить всё

root       426  0.0  0.3   9504  3220 ?        S    02:25   0:00 sudo -u www-data php /var/www/cycle.php
www-data   499  0.9  3.3  97468 31412 ?        S    02:25  10:17 php /var/www/cycle.php
www-data  1565  0.0  3.0  94748 28872 ?        S    02:26   0:44 php -q ./scripts/cycle_execs.php --params a:0:{}
www-data  1566  0.1  3.0  95348 29216 ?        S    02:26   1:42 php -q ./scripts/cycle_ping.php --params a:0:{}
www-data  1567  0.1  3.0  95176 29092 ?        S    02:26   1:26 php -q ./scripts/cycle_bluetooth.php --params a:0:{}
www-data  1569  0.1  3.0  94848 29072 ?        S    02:26   1:59 php -q ./scripts/cycle_main.php --params a:0:{}
www-data  1571  0.7  3.1  95104 29440 ?        S    02:26   8:08 php -q ./scripts/cycle_mysensor.php --params a:0:{}
www-data  1572  0.1  3.0  94848 28680 ?        S    02:26   1:16 php -q ./scripts/cycle_scheduler.php --params a:0:{}
www-data  1573  0.3  3.0  94860 28712 ?        S    02:26   3:39 php -q ./scripts/cycle_states.php --params a:0:{}
 
Видно, что root запускает от имени www-data основной цикл. Основной цикл и остальные запускаются от имени www-data

Преимущество по сравнению с запуском из crontab'а - возможность легко, быстро и гуммано, без перезагрузки, остановить/рестартануть МДМ:

Код: Выделить всё

sudo service majordomo stop|start|restart
PS: В общей инструкции для линукс упоминается отдельный вариант запуска для Убунты.
В этом варианте можно пользоваться

Код: Выделить всё

sudo start|stop majordomo
Но и в Убунте работает вариант Сергея для Rpi)))
Ответить