Estoy familiarizado con el killcomando, y la mayoría de las veces usamos kill -9 para matar un proceso con fuerza, hay muchas otras señales con las que se puede usar kill. Pero me pregunto cuáles son los casos de uso de pkilly killall, si ya hay un comando kill.
¿ Usar pkilly killallusar el killcomando en su implementación? Quiero decir, ¿son solo envoltorios killo tienen su propia implementación?
También me gustaría saber cómo el pgrepcomando obtiene la identificación del proceso del nombre del proceso.
¿Todos estos comandos usan las mismas llamadas de sistema subyacentes? ¿Hay alguna diferencia desde el punto de vista del rendimiento, cuál es más rápido?
linux
bash
shell-script
kill
Ijaz Ahmad Khan
fuente
fuente

kill -9por defecto? -15 (por favor, deténgase) y -1 (el módem se ha colgado, por favor, LIMPIEZA usted mismo) son mucho más educados. En segundo lugar. Tenga cuidado con el uso de killall en cajas que no sean de Linux. Podría comportarse de manera diferente. (Por ejemplo, en solaris mata a todos. NO FILTRADO en los nombres de proceso).Respuestas:
El
killcomando es un contenedor muy simple para lakillllamada al sistema , que solo conoce los ID de proceso (PID).pkillykillalltambién son envoltorios para lakillllamada al sistema (en realidad, a la biblioteca libc que invoca directamente la llamada al sistema), pero pueden 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
pkilly elkillalltrabajo se puede ver usandoltraceostracesobre ellos. En Linux, ambos leen a través del/procsistema de archivos y, por cada pid (directorio) encontrado, atraviesan la ruta de 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/proc/<PID>/statque contiene el nombre del comando como el segundo campo. Parapkill -fypgrepexaminar la/cmdlineentrada para cada entrada de proceso de PID.pkillypgrepusa lareadprocllamada al sistema, mientraskillallque no. No podría decir si hay una diferencia de rendimiento: tendrá que compararla por su cuenta.fuente
kill y killall son herramientas que proporcionan una forma de matar un proceso. El primero por su PID, el segundo por su nombre. pgrep (list) y pkill (kill por defecto) 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
fuente
killallse usa para matar un proceso por su nombre? y usa pgrep para este propósito? ykillalltambién mata todos los procesos secundarios,? ¿Qué señalkillallutiliza por defecto?killallmatará todos los procesos que tiene derecho a matar, de modo que si es root, reiniciará efectivamente el servidor.killall chromiummatará el proceso de cromo,pgrep chromiumle dará la lista PID,pkill chromiummatará el cromo. killall enviará por defecto la señal SIGTERM (como pkill)