Einfach kill $!
am Ende anhängen :process1 & process2; kill $!
$!
ist eine Variable (verwirrenden als „Parameter“ in Bash bekannt), und erweitert überall auf den letzten Hintergrund PID:
Wird auf die Prozess-ID des zuletzt im Hintergrund platzierten Jobs erweitert, unabhängig davon, ob er als asynchroner Befehl ausgeführt wird oder das bg builtin verwendet (siehe JOB CONTROL unten).
%%
ist etwas Besonderes und wird nur im Rahmen von Shell-Befehlen wie fg
und bis zum letzten Hintergrund erweitert kill
. Leider ist das nicht klar von der man
Seite:
Die Symbole %% und% + beziehen sich auf die Vorstellung der Shell vom aktuellen Job. Dies ist der letzte Job, der angehalten wurde, während er im Vordergrund war oder im Hintergrund gestartet wurde.
PS: Wenn Sie dies als Befehlszeichenfolge festlegen müssen, stellen Sie sicher, dass kill $!
es ein einfaches Anführungszeichen gibt, damit es zur Laufzeit erweitert wird. Besser noch, schreiben Sie eine Funktion anstelle eines Alias, um deren Einschränkungen zu vermeiden .