| nafanja |  | 
|   
                Темы:
                
                    94
                
             
                Сообщения:
                
                    9252
                
             
                Участник с: 02 июня 2012
             заблокирован | time lords time lordsНу почему же с натяжкой? Если уже избавляться от bash то уж на широкую ногу. Инструмент и предназначен полностью контролировать демонов без доп скриптов… 
                        Псевдографический инсталлятор Arch Linux ver. 3.8.2 Благодарности принимаются на ЯД 410012815723874 | 
| Time_Lords |  | 
| 
                Темы:
                
                    14
                
             
                Сообщения:
                
                    172
                
             
                Участник с: 19 февраля 2012
             | Ну почему же с натяжкой? Если уже избавляться от bash то уж на широкую ногу. Инструмент и предназначен полностью контролировать демонов без доп скриптов… Как избавление от sh я имел в виду скрипты /etc/rc.d, которые запускают демоны. Скрипты перезапуска уже пользовательские. Тут systemd является довольно таки хорошим велосипедом. P.S. Наверное, я криворукий. Прибавку по времени не вижу. Как стартовали у меня иксы и все остальное пол часа, так и стартуют :) | 
| sleepycat |  | 
|   
                Темы:
                
                    98
                
             
                Сообщения:
                
                    3291
                
             
                Участник с: 19 июля 2011
             | верно, но для этого приходится копировать и долго писать проверки для скрипта, а тут тотчже механизм, только все нужные проверки и фильтры идут в комплекте, да еще и пишутся в одну строку (ну например Before=…). Помоему тоже очевидно, что уж если и убирать sh из инициализации , то системд одно из вменяемых решений. 
                        Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
                     | 
| Time_Lords |  | 
| 
                Темы:
                
                    14
                
             
                Сообщения:
                
                    172
                
             
                Участник с: 19 февраля 2012
             | while true; do команда done Простей скрипт перезапуска любой программы, который я использую. Не многим сложнее строчки в systemd. Но указывать это в юните с запуском удобнее. | 
| nafanja |  | 
|   
                Темы:
                
                    94
                
             
                Сообщения:
                
                    9252
                
             
                Участник с: 02 июня 2012
             заблокирован | Сам придумал или кто подсказал? ))) 
                        Псевдографический инсталлятор Arch Linux ver. 3.8.2 Благодарности принимаются на ЯД 410012815723874 | 
| sleepycat |  | 
|   
                Темы:
                
                    98
                
             
                Сообщения:
                
                    3291
                
             
                Участник с: 19 июля 2011
             | time lordsэт даже для перезапузка рабочего??? 
                        Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
                     | 
| Natrio |  | 
| 
                Темы:
                
                    47
                
             
                Сообщения:
                
                    4763
                
             
                Участник с: 08 января 2011
             | time lordsНе любой, а только таких, которые не умеют форкаться и плодить потомков, кроме того, нельзя забывать о возможности “зависания” программы, так что тут всё равно с каждой будет по-своему. Кроме того, как вы предлагаете остановить такую программу? Для этого придётся сначала убить этот скрипт, чтобы он снова её не перезапустил. P.S. Вот вам пример моего скрипта, который я использую на дебиановском сервере для старта, остановки, и автоматического перезапуска программы. Которая, к слову, сама по себе снабжена защитой от “зависаний” с помощью “watchdog” на основе SIGALRM и постоянного обновления таймера. Опущены только начальные дебиановские заголовки и задание конкретных параметров. get_pid()
{
 PID=''
 [ -f $NPID ] && read P < $NPID
 [ -n "$P" ] && [ -d "/proc/$P" ] && PID=$P && return 0
 return 1
}
start_daemon()
{
 echo -n "Starting $NDESC ... "
 if get_pid ; then
  echo "Already running"
  exit 1
 fi
 su -c "setsid $0 cycle &" - $USER
 limit=50
 for((i=0;i<limit;i++))
 do
  sleep 0.1
  get_pid && echo "PID:$PID" && break
 done
 ((i==limit)) && echo "failed?"
}
stop_daemon()
{
 echo -n "Stopping $NDESC ... "
 [ -f "$NLOCK" ] && rm $NLOCK
 get_pid && kill -HUP $PID
 limit=10
 for((i=0;i<limit;i++))
 do
  sleep 0.1
  if get_pid ; then true
  else
   echo "done."
   break
  fi
 done
 ((i==limit)) && kill -KILL $PID && echo "killed."
}
case "$1" in
cycle)
 exec 1>&- 2>&- 0>&-
 echo -n > $NLOCK
 while [ -f "$NLOCK" ]
 do
  $NBIN
 done
 exit 0
 ;;
start)
 start_daemon
 ;;
stop)
 stop_daemon
 ;;
restart)
 stop_daemon
 start_daemon
 ;;
*)
 echo "Usage: $NNAME start|restart|stop" >&2
 exit 1
 ;;
esac | 
| Time_Lords |  | 
| 
                Темы:
                
                    14
                
             
                Сообщения:
                
                    172
                
             
                Участник с: 19 февраля 2012
             | C потомками чихня. Полная. Но этот скрипт в процессе без потомков порождает всего два - выполнение самого скрипта и программа. При зависании убиваете прорамму по пиду - она упала и запустилась заново. Если мне совсем не надо видеть эту программу, то убиваем скрипт потом программу. Кстати. В случае использование systemd потомки будут падать вместе с основной программой. P.S. Мой скрипт короче. эт даже для перезапузка рабочего???Нет. Сам придумал или кто подсказал? )))Пол года назад искал скрит под никсы для автоматического перезапуска фоновой программы. Тогда нашел в гугле | 
| Time_Lords |  | 
| 
                Темы:
                
                    14
                
             
                Сообщения:
                
                    172
                
             
                Участник с: 19 февраля 2012
             | Опа. После перехода на systemd у мен отвалился русский в консоли. Не заметил сразу | 
| sleepycat |  | 
|   
                Темы:
                
                    98
                
             
                Сообщения:
                
                    3291
                
             
                Участник с: 19 июля 2011
             | time lordsты след. раз так не пугай, а клади скрипт, я вот не до пер сразу, что “под командой” имелось ввиде тело скрипта, вероятно снабженное средствами или приемами выявления повисшей/убитой программы ;) 
                        Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
                     |