23

Есть ли способ убить все экземпляры определенной программы с помощью команды командной строки?

8 ответов8

47

В GNU/Linux, BSD, OS X и других Unix-подобных

killall program

В винде

taskkill /IM program.exe
4

В Windows 7 (Vista?) Я предпочитаю tskill processname как вам не нужно запоминать ключи командной строки или писать .exe в конце. например:

tskill chrome

Убьет все хромовые процессы.

В Windows XP я использовал pskill из пакета pstools , который использует похожий синтаксис. Обе эти команды также могут работать на удаленных компьютерах, если у вас есть права администратора.

4

Во многих системах вы найдете команды kill и killall .

Если вы знаете PID процесса, вы можете использовать kill PID

Первый убивает только один конкретный процесс. (Или, скорее, он посылает ему сигнал, например, сигнал о прекращении). Вы можете написать обертку вокруг этого с помощью ps и grep, чтобы убить все процессы, соответствующие имени.

или, если установлен, вы можете использовать killall

Однако будьте осторожны, не все команды killall делают одно и то же. На Солярисе это убивает все процессы. Я повторяю, все. Будут убиты не только те, кого вы хотели, но и все процессы, на которые у вас есть права. Обязательно проверьте страницу руководства вашей локальной системы и / или убедитесь, что это ссылка на killall5.

2

В Windows, если вы хотите завершить процесс и любые дочерние процессы, которые были запущены им, вы должны использовать эту команду Taskkill /im program.exe /t

1

В Linux команда является либо pkill либо killall. Обычно рекомендуется использовать pkill , так как в некоторых системах killall фактически убивает все процессы.

1

На Windows 7 есть taskkill .

1

для Windows вы можете использовать
taskkill /im имя_программы
используйте taskkill /im имя_программы /f для более проблемных программ
Используйте ProcessExplorer, если вы хотите альтернативу GUI для Taskmanager

0

Хм, и подумать, что я использовал pkill все эти годы ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .