Manchmal, wenn ich einen killall
Befehl über Terminal ausführe, schlägt ein Mitarbeiter meine anzuzeigenden Skripte vor oder bearbeitet sie killall -HUP
.
Was macht das -HUP
Teil?
macos
terminal
bash
command-line
Danijel-James W
quelle
quelle
Antworten:
Die
-HUP
Option ist das Signal, das vomkillall
Befehl an die Prozesse gesendet wird . Es kann ein wenig schwer zu sagen sein, aber der relevante Eintrag imkillall
Handbuch lautet:Der Unterschied zwischen dem
TERM
gesendeten Standardsignalkillall
und demHUP
Signal hängt weitgehend von dem Programm ab, an das Sie das Signal senden. Am Programmende erhalten sie einen anderen Alarmsignalwert. So kann das Programm die Interrupts abfangen und basierend auf dem Wert entscheiden, ob sie das eine oder andere tun sollen.Das
TERM
Signal (in der Vergangenheit das "Beendigungssignal") wird normalerweise an ein Programm gesendet, um dessen Beendigung anzufordern (was eine politischere Version ist , um dessen Beendigung mit demKILL
Signal zu erzwingen ). Das Programm kann dasTERM
Signal abfangen und ignorieren . Es muss nicht terminieren, wenn es nicht will, und es kann dieses Signal vollständig ignorieren.Das
HUP
Signal (in der Vergangenheit das "Aufhängesignal") wird normalerweise an ein Programm gesendet, um einen Neustart anzufordern und dabei die gesamte Konfiguration neu zu lesen. Das tatsächliche Verhalten des Programms hängt von der programmspezifischen Implementierung ab. Nicht alle Programme fangen anHUP
und sie sind nicht durch Konventionen oder Dogmen dazu verpflichtet. Der Apache-Webserver empfängt beispielsweise einHUP
Signal und liest alle Konfigurationsdateien erneut, startet jedoch keine Prozesse neu.Wenn Sie die Prozesse wirklich beenden möchten und sich keine Gedanken darüber machen möchten, ob das Signal abgefangen und befolgt werden soll, wird das Signal verwendet
KILL
. Es kann nicht abgefangen oder ignoriert werden und führt zum Abbruch des Prozesses.Eine gute Übersicht über die verfügbaren POSIX-Signale finden Sie in diesem Wikipedia-Artikel .
quelle
#FAIL
Leuten, die nie hinter den Schaltern lesen. Vielen Dank!Dies
-HUP
ist das "Auflegen" -Signal, das dazu führen kann, dass eine App nicht mehr reagiert, ihre Konfigurationsdatei liest und dann erneut startet. Es ist nicht unbedingt besser als es ohne zu benutzen.und
Sind respektvoll gleich. In OS X wird Finder neu gestartet, aber die Konfigurationsdatei wird erneut gelesen. Dies ist möglicherweise nicht der Fall, wenn in der ausgeführten Anwendung die
-HUP
Funktion nicht integriert ist. Wie im vorherigen Poster erwähnt, Apache. Es liest die Konfigurationsdateien, kann jedoch nicht erneut gestartet werden.quelle