Проверьте состояние сценария оболочки

Я выполняю CentOS 5.5 и создал init сценарий. Запуск сценария содержит:

# Source function library.
if [ -f /etc/init.d/functions ]; then
        . /etc/init.d/functions
fi

Начальный бит хорошо работает, но у меня есть проблемы с частью остановки и состоянием:

status)
echo -n "Status of script: "
status "/bin/sh /path/to/script.sh"
RETVAL=$?
echo
;;

В PS AUX команда появляется как "/bin/sh/path/to/script.sh", и я вижу PID. Но когда я работаю:

./my_init_script status

Это говорит, что сценарий не работает. Я должен использовать бит/bin/sh, или просто весь путь сценария или просто имя файла сценария?

Часть остановки init сценария использует "killproc". Снова, какую команду я должен использовать для успешного уничтожения всех случаев сценария?

1
задан 02.08.2010, 16:01

1 ответ

Если это похоже на соответствующую функцию на Ubuntu, необходимо опустить "/bin/sh" часть.

status "$DAEMON"

Вы, вероятно, захотите использовать что-то как:

killproc -p "$PIDFILE" "$DAEMON"

Около верхней части Вашего сценария определяют те переменные:

DAEMON="/path/to/yourscriptname.sh"
PIDFILE="/var/run/yourscriptname/yourscriptname.pid"

И, конечно, необходимо будет удостовериться это /var/run/yourscriptname существует.

Используйте существующие сценарии в /etc/init.d как модели для Вашего сценария.

0
ответ дан 24.11.2019, 01:45

Теги

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