Новомодное задание для запуска остановите и перезапустите другие задания

В зависимости от Вашего распределения (Вы не упоминали это), у Вас есть довольно широкая предпочтительная область: chkconfig, rcconf, / и т.д. / (rc.d/) rc.local, symlinking сценарии запуска в init.d\rc.d - но все они требуют полномочия пользователя root.

Я предполагаю, что у Вас нет доступа к sudo. Эти листы Вы со всего одной опцией, добавляя сценарий в crontab, который проверяет, работает ли процесс, и если это не, затем запускают его. Вы также получаете своего рода улучшение доступности (например, если Ваш процесс отказывает, это запущено снова).

Мое взятие на этом:

#!/bin/sh

proc=process_name
`ps aux > /tmp/.$proc; awk '/$proc/{print $2}' /tmp/.$proc > /tmp/.x` #if process is alive then copy its PID in .x
    if [ -s /tmp/.x ]; then    #-s file True if file exists and has a size greater than zero. 
            echo k   #.x is greater than zero => process is alive, all ok
    else
            /etc/init.d/daemon start _or_whatever_startup file_ #.x was zero, process dead.
    fi
`rm -f /tmp/.$proc && rm -f /tmp/.x`
1
задан 21 June 2013 в 13:51
1 ответ

Я решил, создав фиктивное главное задание (/etc/init/master_job.conf):

description "master_job"

start on filesystem or runlevel [2345]
stop on runlevel [!2345]

respawn

, а остальные начинают и останавливаются на нем (/etc/init/other_job.conf) :

start on starting master_job
stop on stopping master_job
0
ответ дан 4 December 2019 в 09:07

Теги

Похожие вопросы