A veces, cuando intento iniciar Firefox, dice "ya se está ejecutando un proceso de Firefox". Entonces tengo que hacer esto:
jeremy@jeremy-desktop:~$ ps aux | grep firefox
jeremy 7451 25.0 27.4 170536 65680 ? Sl 22:39 1:18 /usr/lib/firefox-3.0.1/firefox
jeremy 7578 0.0 0.3 3004 768 pts/0 S+ 22:44 0:00 grep firefox
jeremy@jeremy-desktop:~$ kill 7451
Lo que me gustaría es un comando que haga todo eso por mí. Tomaría una cadena de entrada y grep
para ello (o lo que sea) en la lista de procesos, y eliminaría todos los procesos en la salida:
jeremy@jeremy-desktop:~$ killbyname firefox
Intenté hacerlo en PHP, pero exec('ps aux')
parece que solo muestra procesos que se han ejecutado exec()
en el script PHP en sí (por lo que el único proceso que muestra es en sí mismo).
pkill -f "Process name"
comando ...Respuestas:
Más información: http://linux.about.com/library/cmd/blcmdl1_pkill.htm
fuente
-f
.pkill -U <username>
Es bastante útil. Tengo un servidor web Solaris , el demonio del servidor web real, está configurado como un Servicio con su propio usuario. Por lo tanto, especificar por usuario es una forma simple / fácil de activar un reinicio.-f
bandera para una solución ómnibus.También es posible usar:
Para mí, funcionó perfectamente. Era lo que estaba buscando. pkill no funciona con nombre sin la bandera.
Cuando
-f
se establece, la línea de comando completa se usa para la coincidencia de patrones.fuente
-f
opción es realmente necesaria. por ejemplopkill -f "EvilWindowsServer.exe"
-f
bandera para eliminar un proceso en segundo plano que ejecuta un script de Python.pkill -f -9 PROCESSNAME
Puede matar procesos por nombre con
killall <name>
Pero si no ve el proceso con
ps aux
, probablemente no tendrá derecho a matarlo ...fuente
killall -s KILL firefox
Una alternativa un poco más larga:
fuente
La forma más fácil de hacerlo es comprobar primero si está obteniendo los ID de proceso correctos con:
Si el resultado es el esperado. Ir con:
fuente
Extraño, pero no he visto una solución como esta:
También puede matar múltiples procesos (múltiples pids) como:
Prefiero
pidof
ya que tiene salida de línea única:fuente
kill: invalid number 'pidof myprogram'
. ¿Qué hay de malo aquí?Mata a todos los procesos que tienen
snippet
en la ruta de inicio. Puede eliminar todas las aplicaciones iniciadas desde algún directorio colocando / directorio / como un fragmento. Esto es bastante útil cuando inicia varios componentes para la misma aplicación desde el mismo directorio de aplicaciones.* Preferiría pgrep si está disponible
fuente
grep
.ps ax | awk '/[s]nippet/ { print $1 }' | xargs kill
[s]
funciona en términos de no coincidir con el proceso awk en sí mismo.[x]y
coincide con la cadenaxy
pero no al revés. Esta es una pregunta frecuente común. El enlace es a una página de hace más de 20 años que explica esto con más detalle; y esta era una pregunta recurrente ya entonces.En Mac no pude encontrar el pgrep y pkill ni Killall funcionaba, así que escribí un script simple:
Si hay una manera más fácil de hacerlo, por favor comparta.
fuente
Usando el
#killall
comando:fuente
Para matar con grep:
fuente
más correcto sería:
fuente
export
usa una variable que solo va a usar una vez en el mismo proceso?Normalmente uso el
killall
comando.Consulte este enlace para obtener detalles de este comando.
fuente
Me hacía la misma pregunta, pero el problema con las respuestas actuales es que no verifican con seguridad los procesos que se van a matar, por lo que ... podría dar lugar a terribles errores:) ... especialmente si varios procesos coinciden con el patrón .
Como descargo de responsabilidad, no soy un sh pro y ciertamente hay margen de mejora.
Entonces escribí un pequeño script sh:
fuente
Si ejecuta GNOME, puede usar el monitor del sistema (Sistema-> Administración-> Monitor del sistema) para eliminar los procesos como lo haría con Windows. KDE tendrá algo similar.
fuente
El
kill
comando predeterminado acepta nombres de comandos como una alternativa al PID. Ver kill (1) . Un problema frecuente es quebash
proporciona el suyo propiokill
que acepta números de trabajo, comokill %1
, pero no nombres de comandos. Esto dificulta el comando predeterminado. Si la funcionalidad anterior es más útil para usted que la última, puede deshabilitar labash
versión llamandoenable -n kill
Para más información ver
kill
yenable
entradas en bash (1) .fuente
enable -n kill
?enable kill
kill -9 $ (ps aux | grep -e myprocessname | awk '{print $ 2}')
fuente
fuente
awk oneliner, que analiza el encabezado de
ps
salida, por lo que no necesita preocuparse por los números de columna (sino por los nombres de columna). Apoyo regex. Por ejemplo, para eliminar todos los procesos, cuyo nombre ejecutable (sin ruta) contiene la palabra "firefox" intentefuente