Ein Signal ist eine Nachricht, die an einen laufenden Prozess gesendet werden kann. Signale können von Programmen, Benutzern oder Administratoren initiiert werden.
Abgesehen von "Die MMU der CPU sendet ein Signal" und "Der Kernel leitet es an das fehlerhafte Programm weiter und beendet es", kann ich anscheinend keine Informationen dazu finden. Ich nahm an, dass es wahrscheinlich das Signal an die Shell sendet und die Shell es durch Beenden des fehlerhaften Prozesses …
Ich habe ein Bash-Skript, das ungefähr so aussieht: #!/bin/bash echo "Doing some initial work...."; /bin/start/main/server --nodaemon Wenn die Bash-Shell, in der das Skript ausgeführt wird, ein SIGTERM-Signal empfängt, sollte sie auch ein SIGTERM-Signal an den ausgeführten Server senden (das blockiert, sodass keine Überfüllung möglich ist). Ist das möglich?
In Bash habe ich gelernt, dass das Endsignal durch dieses Dokument geändert werden kann. Aber wie kann ich standardmäßig das Ende der stdin-Eingabe signalisieren? Ich habe zufällig festgestellt, dass bei cat und chardet ihre stdin-Eingaben durch Strg + d als erledigt signalisiert werden können. Aber ich erinnere mich anscheinend, dass …
Wie kann ich überprüfen, ob ein laufender Prozess ein Signal erfasst, ignoriert oder blockiert? Im Idealfall möchte ich eine Liste von Signalen sehen oder muss das Signal zumindest nicht wirklich senden, um es zu überprüfen.
Viele Beispiele für die trapVerwendung trap ... INT TERM EXITfür Bereinigungsaufgaben. Aber ist es wirklich notwendig, alle drei Zeichen aufzuzählen? Das Handbuch sagt: Wenn ein SIGNAL_SPEC EXIT (0) ist, wird ARG beim Verlassen der Shell ausgeführt. was meines erachtens zutrifft, ob das script normal beendet wurde oder weil es empfangen …
Wie kann ich bei einem gegebenen Shell-Prozess (zB sh) und seinem untergeordneten Prozess (zB cat) das Verhalten von Ctrl+ Cmithilfe der Prozess-ID der Shell simulieren ? Das habe ich versucht: Laufen shund dann cat: [user@host ~]$ sh sh-4.3$ cat test test Senden SIGINTan catvon einem anderen Terminal: [user@host ~]$ kill …
Wenn ein Prozess mit einem handhabbaren Signal beendet wird, wie SIGINToder SIGTERMaber nicht, wie lautet der Beendigungscode des Prozesses? Was ist mit unbehandelbaren Signalen SIGKILL? Nach allem, was ich sagen kann, SIGINTführt das Beenden eines Prozesses wahrscheinlich zu Exit-Code 130. Aber würde das je nach Kernel- oder Shell-Implementierung variieren? $ …
Ich habe ein Shell-Skript , das von der Standardeingabe liest . In seltenen Fällen ist niemand bereit, Eingaben zu machen, und das Skript muss eine Zeitüberschreitung aufweisen . Im Falle einer Zeitüberschreitung muss das Skript einen Bereinigungscode ausführen. Wie geht das am besten? Dieses Skript muss sehr portabel sein , …
Ich habe einen Befehl, den ich jedes Mal, wenn er beendet wird, automatisch erneut ausführen lassen möchte. Daher habe ich Folgendes ausgeführt: while [ 1 ]; do COMMAND; done; aber wenn ich die Schleife nicht stoppen kann Ctrl-c, tötet das einfach COMMANDund nicht die gesamte Schleife. Wie würde ich etwas …
Ich habe ein einfaches Bash-Skript mit einer Schleife zum Drucken des Datums und zum Senden eines Pings an einen Remotecomputer geschrieben: #!/bin/bash while true; do # *** DATE: Thu Sep 17 10:17:50 CEST 2015 *** echo -e "\n*** DATE:" `date` " ***"; echo "********************************************" ping -c5 $1; done Wenn ich …
Ich fange oft an, eine große Datei zu lesen und möchte sie nach einer Weile beenden, aber es gibt eine Verzögerung, wenn ich Ctrl+ drücke, Cbis das Programm stoppt. Kann die Verzögerung durch mehrmaliges Drücken der Taste Ctrl+ verkürzt werden C? Oder verschwende ich meine Tastendrücke?
Ich frage mich über die Sicherheit von UNIX-Signalen. SIGKILLbricht den Prozess ab. Was passiert also, wenn ein Nicht-Root-Benutzer ein Signal an den Prozess eines Root-Benutzers sendet? Führt der Prozess den Signalhandler noch aus? Ich folge der akzeptierten Antwort (gollum's), tippe man capabilitesund finde viele Dinge über den Linux-Kernel. Von man …
Abgesehen von den heftigsten kill -9(SIGKILL) verstehe ich den Unterschied zwischen den drei anderen gemeinsamen Signalen ( hier ) -HUP(1), -INT(2) und -TERM(15) nicht ganz. In welchen Szenarien würde das eine funktionieren und das andere nicht? Im Allgemeinen, wann schlägt -9( -KILL) fehl? Mir scheint, dass sie den Prozess auffordern …
Gibt es eine Möglichkeit herauszufinden, was das Programm tun wird, wenn es das Kill-Signal HUP empfängt? Ohne einfach den Befehl von c: D auszuführen Zum Beispiel killall -HUP pppdwird pppd neu gestartet killall -HUP firefox, um Firefox zu töten
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.