Matar todas las instancias de un programa específico desde la línea de comando [cerrado]

23

¿Hay alguna forma de matar todas las instancias de un programa específico con un comando de línea de comandos?

Jorge
fuente
12
Que sistema operativo Es killall debajo de * ix.
Dave C
1
Esta pregunta es demasiado amplia, a menos que especifique un sistema operativo o dos en los que desea lograr esto.
Karan

Respuestas:

47

En GNU / Linux, BSD, OS X y otros Me gusta de Unix

killall program

En Windows

taskkill /IM program.exe
Der Hochstapler
fuente
66
Cuidado con "otros Me gusta de Unix": en Solaris killall, bueno, mata a todos : tehtable.wordpress.com/2009/12/07/note-to-self-solaris-linux
us2012
Utiliza la /Fbandera para matar a la fuerza.
Hassaan Salik
4

En Windows 7 (Vista?), Prefiero tskill processnameya que no necesita recordar los cambios de línea de comandos o escribir .exe al final. p.ej:

tskill chrome

Mata todos los procesos de Chrome.

En Windows XP utilicé pskillde la suite pstools , que usa una sintaxis similar. Ambos comandos también pueden funcionar en computadoras remotas, si tiene derechos de administrador.

Luke
fuente
4

En muchos sistemas encontrará los comandos killy killall.

Si conoce el PID del proceso, puede usar kill PID

El primero mata solo un proceso específico. (O más bien, le envía una señal, por ejemplo, la señal para terminar). Puede escribir un contenedor alrededor de eso con ps y grep para eliminar todos los procesos que coincidan con un nombre.

o, si está instalado, podría usar killall

Sin embargo, tenga cuidado, no todos los comandos de killall hacen lo mismo. En Solaris mata todos los procesos. Repito, todo. No solo aquellos que querías, sino que todos y cada uno de los procesos que tienes derecho a matar serán asesinados. Asegúrese de revisar la página del manual de su sistema local y verifique si es un enlace a killall5.

Hennes
fuente
Agradable. Entonces, ¿es killall5 el desagradable o el que mata los procesos que quería?
LarsH
killall5Es el desagradable.
cpast
2

En Windows, si desea eliminar un proceso y cualquier proceso hijo que haya iniciado, debe usar este comando Taskkill / im program.exe / t

Farhad
fuente
1

En Windows 7 hay taskkill.

Stf
fuente
1

para Windows, puede usar
taskkill / im program_name use taskkill / im
program_name / f para programas más problemáticos
Use ProcessExplorer si desea una alternativa GUI para Taskmanager

usuario13267
fuente
1

En Linux, el comando es pkillo killall. pkillgeneralmente se recomienda, ya que en algunos sistemas, en killallrealidad matará todos los procesos .

Reinstalar a Mónica
fuente
dis ~ # killall Uso: killall [OPCIÓN] ... [-] NOMBRE ... killall -l, --list killall -V, --version -e, - exacta requiere coincidencia exacta para nombres muy largos -I , - ignorar mayúsculas y minúsculas coincidencia de nombre de proceso insensible ...
elcash
1
@Brendan Long: no es una leyenda urbana. En algunos sistemas SYS V en killallrealidad mata a todos. Eso no es necesariamente algo malo, pero si no espera que se comporte de manera diferente en un sistema diferente, entonces podría tener un momento educativo .
Hennes
0

Hmm, y pensar que he estado usando pkill todos estos años ...

KevinM
fuente