Ihre Frage ist nicht klar, Sie sprechen im Titel von einem Daemon, aber im Text nur von einem generischen Prozess.
Für einen Daemon gibt es spezielle Methoden, um ihn zu stoppen, zum Beispiel in Debian
service daemon-name stop
oder
/etc/init.d/daemon-name stop
Ähnliche Syntaxen gibt es für andere Initscript-Standards, die in anderen Distributionen / Betriebssystemen verwendet werden.
Um einen Nicht-Daemon-Prozess abzubrechen, können Sie sicher killall
oder , vorausgesetzt pkill
, sie verwenden standardmäßig das SIGTERM
(15) -Signal, und jede anständige geschriebene Anwendung sollte dieses Signal abfangen und ordnungsgemäß beenden, wenn Sie es empfangen . Berücksichtigen Sie, dass diese Dienstprogramme mehr als einen Prozess beenden können, wenn es mehrere mit demselben Namen gibt.
Wenn das nicht funktioniert, können Sie versuchen SIGINT
(2), dann SIGHUP
(1) und als letztes Mittel SIGKILL
(9). Dieses letzte Signal kann von der Anwendung nicht abgefangen werden, sodass keine Bereinigung durchgeführt werden kann. Aus diesem Grund sollte es jedes Mal vermieden werden, wenn Sie können.
Beide pkill
und killall
akzeptieren einen Signalparameter in der Form -NAME
wie in
pkill -INT process-name