Wie man Bash-Gabelbombe tötet

831
pacholik

Vor kurzem habe ich unabsichtlich eine Gabelbombe in Bash erstellt und ausgeführt. Es war ein langsamer, im Vergleich zu anderen Gabelbomben hatte ich viel Zeit, etwas zu tun. Aber es gab bereits mehrere hundert Bash- Instanzen, als ich es herausfand.

Mein erster Gedanke war zu tun

killall bash 

aber das tötet die Schale, in der ich bin, und die Killall damit.

Dann bin ich :!killall bashvon Vim weggelaufen und es war erledigt.

Aber was wäre, wenn ich keine Vim am Laufen hätte? Jedes Terminal, das ich habe, startet standardmäßig bash. Wie könnte ich jede Bash-Instanz außer der, in der ich bin, töten?

3
[Was ist der beste Weg nach einer Gabelbombe aufzuräumen?] (// serverfault.com/q/148642) DavidPostill vor 7 Jahren 0
[Wie kann ich einen Fibbomb-Prozess beenden?] (// superuser.com/q/168804) DavidPostill vor 7 Jahren 0

2 Antworten auf die Frage

2
pacholik

Ich dachte mir, dass ich genau das tun kann, was ich frage, jede Bash-Instanz außer der, in der ich bin.

pgrep bash | grep -v $$ | xargs kill 
0
AjaiVeer Singh Sandhu

Suchen Sie einfach nach der PID und dann -

während wahr; töte all -u pid; erledigt