Dies ist wahrscheinlich eine häufig gestellte Frage, aber ich konnte keine gute Dokumentation finden.
Ich habe Jobs auf meinem System ausgeführt:
foo@fooBox:~/tmp$ jobs
[1]+ Stopped foo bar baz
Wie kann ich diesen Prozess beenden? Ich habe verschiedene Befehle ausprobiert kill 1
, aber es hat nicht funktioniert.
SIGINT
, wie zum Beispielvim
.Antworten:
Sie können die von @fideli vorgeschlagene Methode oder den folgenden
kill
Befehl verwenden:Dadurch wird der erste angehaltene Befehl beendet. Sie können auch eine Liste mit angehaltenen Befehlen finden:
und es wird eine Ausgabe wie die folgende liefern:
Wenn Sie mehrere gestoppte Aufträge haben, ist die Nummer in Klammern (
[1]
) die Auftragsnummer, die Sie nach%
demkill
Befehl eingeben.quelle
kill
.-bash: kill: (3593) - Operation not permitted
. Wenn ich es mit sudo benutze, bekomme ich daskill: %1: invalid process id
sudo
, sodass Sie ihn nicht beenden können. Wenn Sie jedoch mit ausgeführtkill
werdensudo
, haben Sie keinen Zugriff mehr auf die Jobliste Ihres Benutzers (versuchen Sie es rennen umsudo jobs
zu sehen was ich meine). Führen Sie stattdessen einfach den Befehl aus, da Sie jetzt die PID habensudo kill 3593
.Wenn Sie ausführen
ps ax
, wird eine Liste aller ausgeführten Prozesse angezeigt. Suchen Sie nach der Person, die Sie töten möchten, und notieren Sie sich die Nummer in derPID
Spalte. Angenommen, die Nummer war10203
, würden Sie dann ausführen:Sie können auch ausführen
ps ax | grep foo
, um das genaue Programm zu finden, nach dem Sie suchen. Schließlich können Sie Folgendes ausführen:alle Instanzen von töten
foo
.quelle