GNU/Linux >> Tutoriales Linux >  >> Linux

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

El kill El comando es un envoltorio 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 del sistema), pero puede determinar los PID por usted, en función de elementos 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 de una manera de identificar un proceso por su nombre u otros atributos. Cómo se hace esto es técnicamente hablando, kernel y sistema específico. En general, leen desde /proc/<PID>/stat que contiene el nombre del comando como segundo campo. Para pkill -f y pgrep examinar el /cmdline entrada para cada entrada de proceso de PID.

pkill y pgrep utiliza el readproc llamada al sistema, mientras que killall no es. No podría decir si hay una diferencia de rendimiento:tendrás que comparar eso por tu 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 por defecto) son herramientas que proporcionan una forma de enviar un mensaje a un proceso por su nombre u otros atributos ver:http://linux.die. net/man/1/pkillPara más información sobre señales:http://linux.die.net/man/7/signal


Linux
  1. ¿Cuál es la diferencia entre strtok_r y strtok_s en C?

  2. ¿Cuál es la diferencia entre fsck y e2fsck?

  3. ¿Cuál es la diferencia entre adduser y useradd?

  4. ¿Cuál es la diferencia entre Kernel no preventivo, preventivo y selectivo?

  5. ¿Cuál es la diferencia entre `su -` y `su --login`?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Shell de inicio de sesión y sin inicio de sesión?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre los comandos kill y killall?