Saltar al contenido

¿Cuál es la diferencia entre kill, pkill y killall?

Solución:

los kill El comando es un contenedor muy simple para el kill llamada al sistema, que solo conoce los ID de proceso (PID). pkill y killall también son envoltorios para el kill llamada al sistema, (en realidad, a la biblioteca libc que invoca directamente la llamada al sistema), pero puede determinar los PID por usted, en función de cosas como el nombre del proceso, el propietario del proceso, la identificación de la sesión, etc.

Cómo pkill y killall el trabajo se puede ver usando ltrace o strace en ellos. En Linux, ambos leen el /proc sistema de archivos, y para cada pid (directorio) encontrado, recorre la ruta para identificar un proceso por su nombre u otros atributos. Cómo se hace esto es técnicamente hablando, específico del kernel y del sistema. En general, leen de /proc/<PID>/stat que contiene el nombre del comando como segundo campo. Para pkill -f y pgrep examina el /cmdline entrada para la entrada de proceso de cada PID.

pkill y pgrep utilizar el readproc llamada al sistema, mientras que killall no. No podría decir si hay una diferencia de rendimiento: tendrá que comparar eso por su cuenta.

kill y killall son herramientas que proporcionan una forma de matar un proceso. El primero por su PID, el segundo por su nombre. pgrep (lista) y pkill (matar de forma predeterminada) son herramientas que proporcionan una forma de enviar mensajes a un proceso por su nombre u otros atributos, consulte: http://linux.die.net/man/1/pkill Para obtener más información sobre señales: http://linux.die.net/man/7/signal

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *