Cómo matar el proceso de Linux usando Kill, Pkill y Killall

Cómo matar el proceso de Linux usando Kill, Pkill y Killall

El sistema operativo Linux viene con un mando de mando Para terminar un proceso. El comando permite continuar ejecutando el servidor sin la necesidad de reiniciar después de un cambio/actualización importante. Aquí viene el gran poder de Linux y esta es una de las razones, por qué Linux se está ejecutando 96.4% de servidores, en el planeta.

Matar El comando envía una señal, una señal especificada a un proceso en ejecución actualmente. El comando matar se puede ejecutar de varias maneras, directamente o desde un script de shell.

[También puede gustar: Encuentre los 15 procesos principales por uso de la memoria con 'superior' en modo lotes]

Usando matar ordenar desde /usr/bin proporcionarle una característica adicional para matar un proceso por nombre del proceso utilizando pkill.

Mata el uso de comandos

La sintaxis común para mando de mando es:

# matar [señal u opción] pid (s)

Para mando de mando a Nombre de señal podría ser:

Nombre de señal Valor de señal Comportamiento SIGHUP 1 Hangup Sigkill 9 SEÑAL DE MAYA SIGTERM 15 Terminar

Claramente del comportamiento anterior, Siglo es la forma predeterminada y segura de matar un proceso. Suspiro es una forma menos segura de matar un proceso que Siglo. Sigkill es la forma más insegura entre los tres anteriores, matar un proceso que termina un proceso sin ahorrar.

Para matar un proceso, necesitamos conocer la identificación del proceso de un proceso. A Proceso es una instancia de un programa. Cada vez que comienza un programa, automáticamente un único Pid se genera para ese proceso.

Cada proceso en Linux tiene un pid. El primer proceso que se inicia cuando se inicia el sistema Linux es el - proceso init, Por lo tanto, se le asigna un valor de '1' en la mayoría de los casos.

[También puede que le guste: todo lo que necesita saber sobre procesos en Linux [Guía integral]]

En eso es el proceso maestro y no puede ser asesinado de esta manera, lo que asegura que el proceso maestro no sea asesinado accidentalmente. En eso decide y se permite ser asesinado, donde Kill es simplemente una solicitud de cierre.

Enumere todos los procesos de Linux en ejecución

Conocer todos los procesos y, en consecuencia, su asignado pid, Ejecute el siguiente comando PS.

# ps -a
Salida de muestra
Pid tty Time CMD 1 ? 00:00:01 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 migración/0 4 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 Migración/0 6 ? 00:00:00 Watchdog/0 7 ? 00:00:01 eventos/0 8 ? 00:00:00 cgroup 9 ? 00:00:00 Khelper 10 ? 00:00:00 netns 11 ? 00:00:00 Async/Mgr 12 ? 00:00:00 pm 13 ? 00:00:00 Sync_Super 14 ? 00:00:00 bdi-default 15 ? 00:00:00 kintegityd/0 16 ? 00:00:00 kblockd/0 17 ? 00:00:00 kacpid 18 ? 00:00:00 kacpi_notify 19 ? 00:00:00 kacpi_hotplug 20 ? 00:00:00 ATA/0 21 ? 00:00:00 ATA_AUX 22 ? 00:00:00 ksuspend_usbd

¿Qué tal personalizar la salida anterior usando sintaxis como?proceso pidof'.

# pidof mysqld
Salida de muestra
1684

Otra forma de lograr el objetivo anterior es seguir la siguiente sintaxis.

# ps aux | Grep mysqld
Salida de muestra
raíz 1582 0.0 0.0 5116 1408 ? S 09:49 0:00/bin/sh/usr/bin/mysqld_safe --datadir =/var/lib/mysql --socket =/var/lib/mysql/mysql.Sock--Pid-File =/var/run/mysqld/mysqld.PID -Basedir =/usr --user = mysql mysql 1684 0.1 0.5 136884 21844 ? SL 09:49 1:09/usr/libexec/mysqld-basado con =/usr --datadir =/var/lib/mysql --user = mysql --log-error =/var/log/mysqld.log--pid-file =/var/run/mysqld/mysqld.pid --socket =/var/lib/mysql/mysql.Root de calcetín 20844 0.0 0.0 4356 740 pts/0 S+ 21:39 0:00 Grep Mysqld 

[También le puede gustar: Cómo encontrar los 15 procesos principales por uso de la memoria en Linux]

Cómo matar un proceso en Linux

Antes de dar un paso adelante y ejecutar un mando de mando, Algunos puntos importantes a tener en cuenta:

  • Un usuario puede matar todos sus procesos.
  • Un usuario no puede matar el proceso de otro usuario.
  • Un usuario no puede matar procesos que el sistema está utilizando.
  • Un usuario raíz puede matar el proceso a nivel de sistema y el proceso de cualquier usuario.

Otra forma de realizar la misma función es ejecutar el 'pgrep' dominio.

# pgrep mysql
Salida de muestra
3139

Para matar el proceso anterior Pid, Use el comando matar como se muestra.

matar -9 3139

El comando anterior matará el proceso que tiene pid=3139, dónde Pid es un Valor numérico del proceso.

Otra forma de realizar la misma función puede reescribirse como.

# Kill -SigterTter 3139

Similarmente 'matar -9 pid' es parecido a 'matar -sigkill pid' y viceversa.

Cómo matar un proceso en Linux usando el nombre del proceso

Debe conocer el nombre del proceso, antes de matar e ingresar un nombre de proceso incorrecto puede atornillarlo.

# pkill mysqld 

Mata a más de un proceso a la vez.

# Kill PID1 PID2 PID3 o # Kill -9 PID1 PID2 PID3 o # Kill -Sigkill PID1 PID2 PID3 

¿Qué pasa si un proceso tiene demasiadas instancias y una serie de procesos infantiles, tenemos un comando?Mátalos a todos' o pkill. Estos dos son los únicos comandos de esta familia, que toma el nombre del proceso como argumento en el lugar del número de proceso.

Sintaxis:
# Killall [señal u opción] Nombre del proceso o nombre de proceso # pkill 

Para matar a todos instancias mysql Junto con los procesos infantiles, use el comando de la siguiente manera.

# killall mysqld o # pkill mysqld 

Siempre puede verificar el estado del proceso si se está ejecutando o no, utilizando cualquiera de los siguientes comandos.

# Servicio de estado mysql o # systemCtl status mysql # pgrep mysql # ps -aux | Grep MySQL 

Eso es todo por ahora, desde mi lado. Pronto estaré aquí de nuevo con otro tema interesante e informativo. Hasta entonces, estad atentos, conectado a Tecmenta, y saludable. No olvides dar tu Comentarios valiosos En la sección de comentarios.