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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.