Was bedeutet kill% 1?


Antworten:


18

Kurz,

Es bedeutet , zu töten Job Nummer 1, nicht Prozess Nummer eins.

Jobs können mit dem jobsBefehl aufgelistet werden .

Im weiteren Sinne bezieht es sich auf die von Ihnen verwendete Shell, und die Syntax kann von Shell zu Shell unterschiedlich sein.

Mit der Bash-Shell kann ein Benutzer mehrere Prozesse (Jobs) gleichzeitig ausführen lassen, deren übergeordneter Prozess die von Ihnen verwendete Shell ist. Grundlagen der Google Bash-Jobsteuerung

Der eingebaute Befehl kill wird verwendet, um ein Signal an eine dieser Job-Pipelines zu senden. Wenn das spezifische Signal nicht angegeben wird, wird SIGTERM verwendet, wodurch der Job normalerweise beendet (beendet) wird, daher der Name kill. Es kann jedoch jedes Signal angegeben werden, von dem einige den Prozess zurücksetzen oder ein nicht tötendes Verhalten verursachen können.

Schließlich ist% 1 eine Möglichkeit (von vielen!), Anzugeben, an welchen Job Sie das Signal senden möchten. % 1 bezieht sich auf den Job über dem Stapel von Hintergrundjobs.


Klein ... aber es ist kein Stapel, es ist wie eine Warteschlange.
endlos

6

Wenn Sie einen Prozess im Hintergrund ausführen, zum Beispiel:

# find / &
[1] ....

# ls -lr /usr &
[2] ....

Hier laufen zwei Prozesse im Hintergrund und sind mit dem aktuellen Terminal verbunden. Wenn Sie dies tun: Töten Sie% 1

Der erste Befehl 'find' oben wird beendet. Wie von Anders gesagt, können Sie die aktuell ausgeführten Hintergrundprozesse auf dem Terminal auflisten und beenden:

# jobs
[1] find / ...
[2] ls -lr ...

# kill %1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.