LINUX.ORG.RU

Передать процессу сигнал


0

0
Доброго времени суток!

Есть скрипт, который пускается при старте системы, и который нужно перезапускать раз в сутки. Для этого нужно, соответственно, передать ему сигнал, причем, соответственно, pid`у этого процеса, а не его имени. Возникает вопрос - как узнать этот самый pid, и, возможно, что почитать для прояснения этого вопроса:)

Спасибо.
Ответ на: комментарий от Mousehouse
и еще ведь его нужно будет стирать при завершении работы скрипта, а при запуске проверять, что он еще не запущен, т.е. записи пида нет
Mousehouse
() автор топика
Ответ на: комментарий от Mousehouse
>я как раз об этом и думал, а как писать? и как считывать?

На каком языке скрипт?

В bash можно узнать свой pid из переменной $$. Соответственно, строчка echo $$ > /var/run/`basename $0` создаст файл с номером процесса в /var/run

Black_Shadow ★★★★★
()
Ответ на: комментарий от AX
>PIDFILE="/var/run/myscript.pid"
>echo $$ > "$PIDFILE"

надо как-нибудь lock сделать, а то можно несколько программ запустить, а сигналы будет получать лишь последняя
dimon555 ★★★★★
()
Ответ на: комментарий от dimon555
>надо как-нибудь lock сделать, а то можно несколько программ запустить, а сигналы будет получать лишь последняя

Проверять наличие pid-файла и не запускаться

Black_Shadow ★★★★★
()
Ответ на: комментарий от Black_Shadow
Соответственно, удалять pid-файл про получении сигнала TERM.
Black_Shadow ★★★★★
()
Вроде ясно, сеньк всем отписавшим...
Mousehouse
() автор топика
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.