it-swarm.com.de

Kann der Prozess per PID neu geladen werden?

Ich führe einen Daemon aus, der nicht über init.d oder den Dienstbefehl neu gestartet werden kann.

Gibt es eine Möglichkeit, einen Prozess neu zu starten, indem lediglich eine Prozess-ID an einen Befehl übergeben wird?

4
neziric

Einen Daemon beenden oder neu konfigurieren, ohne ihn neu zu starten

kill -HUP 1721

Startet den Prozess 1721 neu, indem das Auflegesignal gesendet wird.

killall -HUP inetd

Bewirkt, dass der Dämon seine Konfigurationsdatei neu lädt, indem er das Aufhängesignal sendet.

killall -1 inetd 

Startet inetd neu, indem das Signal 1 gesendet wird, bei dem es sich um das Auflegesignal handelt.

Der Unterschied zwischen diesem und dem vorherigen Beispiel besteht darin, dass das Signal hier mit dem Namen und nicht mit der Nummer bezeichnet wird.

Referenz: http://www.comptechdoc.org/os/linux/usersguide/linux_ugprocesses.html

8
aneeshep

sie können den folgenden Befehl verwenden

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

dabei ist 1234 die Prozess-ID.

Diese Zeile kopiert zuerst die Befehlszeile, die zum Ausführen dieses Prozesses verwendet wurde, in eine Variable, bricht diesen Prozess dann ab und startet ihn über die gespeicherte Befehlszeile neu.

pdate: Die obige Befehlszeile wurde aktualisiert

0
binW