Как убить бомбу вилка
Недавно я непреднамеренно создал и запустил в Bash вилочную бомбу. Он был медленным, по сравнению с другими вилочными бомбами, у меня было достаточно времени, чтобы что-то сделать. Но было уже несколько сотен случаев, когда я узнал об этом.
Моей первой мыслью было сделать
killall bash
но это убивает снаряд, в котором я нахожусь, и убийство с ним.
Потом я побежал :!killall bash
от Вима и все было улажено.
Но что, если у меня не было Vim? Каждый терминал у меня запускается по умолчанию. Как я могу убить каждый экземпляр bash, кроме того, в котором я нахожусь?
2 ответа
Решение
Я подумал, что могу сделать именно то, что я прошу, убить каждый экземпляр bash, кроме того, в котором я нахожусь.
pgrep bash | grep -v $$ | xargs kill
Просто посмотрите на пид, а затем -
пока правда; do killall -u pid; сделанный