¿Cómo puedo matar desde bash todos los procesos de Python, excepto un script de Python? (Sé su nombre, pero su pid se puede cambiar a veces).
Necesito un poco, pkill -f "python"
pero excluyendo el script específico de Python.
Por favor avise.
ps aux |grep python |grep -v 'pattern_of_process_you_dont_want_to_kill' |awk '{print $2}' |xargs kill
Actualización: explicación paso a paso según lo solicitado en los comentarios
ps aux |grep python
- muestra todos los procesos que coinciden con el python
patrón grep -v 'pattern_of_process_you_dont_want_to_kill'
- excluye el proceso que no quieres matar awk '{print $2}'
- muestra el segundo campo de salida, es PID. xargs kill
- Aplicar kill
comando a cada entrada arg (PID).Si no está familiarizado con el xargs
comando, le aconsejo que no se preocupe si no lo comprende de inmediato. Podría parecer bastante complicado por primera vez. Publiqué un ejemplo muy simple de su uso, puede buscar en Google para obtener más información.
awk '{print $2}'
- imprime el segundo campo deps
salida, en el caso actual lo esPID
.xargs
aplica elkill
comando a cada unoPID