Может ли процесс быть перезагружен с помощью PID?

Я запускаю демон, который не может быть перезапущен с помощью команды init.d или службы.

Есть ли способ перезапустить процесс, просто передав идентификатор процесса какой-либо команде?

5
задан 1 December 2010 в 16:15

2 ответа

Уничтожение или перенастройка демона без перезапуска.

kill -HUP 1721

. Перезапускает процесс 1721, посылая сигнал зависания.

killall -HUP inetd

Заставляет демона перезагрузить свой конфигурационный файл, посылая сигнал зависания.

killall -1 inetd 

Перезапускает inetd, посылая сигнал номер 1, который является сигналом зависания.

Разница между этим примером и предыдущим заключается в том, что сигнал здесь называется по имени, а не по номеру.

Ссылка: http://www.comptechdoc.org/os/linux/usersguide/linux_ugprocesses.html

0
ответ дан 1 December 2010 в 16:15

Вы можете использовать следующую команду

CMD=`cat /proc/1234/cmdline |sed 's/\x0/ /g'` && kill 1234 && `$CMD` &

, где 1234 - идентификатор процесса.

Что делает эта строка, так это то, что сначала она копирует командную строку, которая использовалась для запуска этого процесса, в переменную, затем убивает этот процесс и перезапускает его, используя сохраненную командную строку.

Обновление : вышеуказанная командная строка была обновлена ​​

0
ответ дан 1 December 2010 в 16:15

Другие вопросы по тегам:

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