Уничтожение всех экземпляров определенной программы из командной строки [закрыто]

23

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

Джордж
источник
12
Какая ОС? Это killall под * IX.
Дэйв С
1
Этот вопрос слишком широкий, если вы не укажете операционную систему или две, на которых хотите это сделать.
Каран

Ответы:

47

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

killall program

В винде

taskkill /IM program.exe
Der Hochstapler
источник
6
Осторожнее с «другими Unix-лайками»: на Солярисе все killallхорошо убивает : tehtable.wordpress.com/2009/12/07/note-to-self-solaris-linux
us2012
Использует /Fфлаг, чтобы насильно убить.
Хассаан Салик
4

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

tskill chrome

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

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

Люк
источник
4

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

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

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

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

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

Hennes
источник
Ницца. Так действительно ли killall5 мерзкий или убивает процессы, которые вы хотели?
LarsH
killall5противный
cpast
2

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

Фархад
источник
1

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

user13267
источник
1

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

Восстановить Монику
источник
dis ~ # killall Использование: killall [ОПЦИЯ] ... [-] ИМЯ ... killall -l, --list killall -V, --version -e, - точное требование точного соответствия для очень длинных имен -I - игнорировать регистр без
учета
1
@ Брендан Лонг: это не городская легенда. В некоторых системах SYS V killallвсе убивает. Это не обязательно плохо, но если вы не ожидаете, что это будет вести себя по-другому в другой системе, тогда вы можете получить образовательный момент .
Hennes
0

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

KevinM
источник