¿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 pythonpatró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 killcomando a cada entrada arg (PID).Si no está familiarizado con el xargscomando, 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 depssalida, en el caso actual lo esPID.xargsaplica elkillcomando a cada unoPID