Tutoriales

Cómo finalizar el proceso de Linux con Kill, Pkill y Killall

El sistema operativo Linux viene con un Orden de matar para finalizar una operación. El comando permite que el servidor continúe funcionando sin tener que reiniciar después de un cambio / actualización importante. Aquí es donde entra el gran poder de Linux y esta es una de las razones por las que Linux se ejecuta 96,4% de los servidores del planeta.

Matar El comando envía una señal, una señal específica, a un proceso en ejecución. El comando kill se puede ejecutar de varias formas, ya sea directamente o desde un script de shell.

[ You might also like: Find Top 15 Processes by Memory Usage with ‘top’ in Batch Mode ]

Utilizando matar Comando de / usr / bin Ofrece algunas funciones adicionales para finalizar un proceso según el nombre del proceso. pkill.

Uso de órdenes de matar

La sintaxis común para Orden de matar es:

# kill [signal or option] PID(s)

Para Orden de matar a Nombre de la señal podría ser:

Signal Name		Signal Value			Behaviour

SIGHUP			      1				Hangup
SIGKILL			      9				Kill Signal
SIGTERM			      15			Terminate

A partir del comportamiento anterior, queda claro que SIGTERM es la forma estándar y más segura de finalizar un proceso. SUSPIRO es una forma menos segura de matar un proceso que SIGTERM. SIGKILL es la forma menos segura de matar un proceso que mata un proceso sin guardar.

Para matar un proceso, necesitamos conocer el ID de proceso de un proceso. A procedimiento es una instancia de un programa. Cada vez que se inicia el programa, se crea automáticamente uno único. PID se genera para este proceso.

Cada proceso en Linux tiene un pid. El primer proceso que se inicia al arrancar el sistema Linux es: proceso de iniciopor lo que se le asigna el valor ‘1‘ en la mayoría de los casos.

[ You might also like: All You Need To Know About Processes in Linux [Comprehensive Guide] ]

Dentro es el proceso maestro y no se puede terminar de esta manera, lo que garantiza que el proceso maestro no finalice accidentalmente. Dentro decide y se deja matar, por lo que matar es solo una solicitud de cierre.

Lista de todos los procesos de Linux en ejecución

Conozca todos los procesos y sus asignaciones. 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 migration/0
    4 ?        00:00:00 ksoftirqd/0
    5 ?        00:00:00 migration/0
    6 ?        00:00:00 watchdog/0
    7 ?        00:00:01 events/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_supers
   14 ?        00:00:00 bdi-default
   15 ?        00:00:00 kintegrityd/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 adaptar la salida anterior con la 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
root      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 --basedir=/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.sock

root     20844  0.0  0.0   4356   740 pts/0    S+   21:39   
0:00 grep mysqld

[ You might also like: How to Find Top 15 Processes by Memory Usage in Linux ]

Cómo finalizar un proceso en Linux

Antes de dar un paso más y a. realizar Orden de matarpara tener en cuenta algunos puntos importantes:

  • Un usuario puede terminar todos sus procesos.
  • Un usuario no puede finalizar el proceso de otro usuario.
  • Un usuario no puede terminar los procesos que está utilizando el sistema.
  • Un usuario root puede matar el proceso a nivel del sistema y el proceso de cualquier usuario.

Otra forma de realizar la misma función es usar el ‘pgrep‘Mando.

# pgrep mysql
Salida de muestra
3139

Para finalizar el proceso anterior PID, use el comando kill como se muestra.

kill -9 3139

El comando anterior termina el proceso con pid=3139, dónde PID es un Valor numérico del proceso.

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

# kill -SIGTERM 3139

Similar ‘matar -9 PID‘ es parecido a ‘matar -SIGKILL PID‘ y viceversa.

Cómo finalizar un proceso en Linux con el nombre del proceso

Debe conocer el nombre del proceso antes de finalizar el proceso y escribir un nombre de proceso incorrecto puede arruinarlo.

# pkill mysqld

Finalice más de un proceso al mismo tiempo.

# kill PID1 PID2 PID3
or
# kill -9 PID1 PID2 PID3
or
# kill -SIGKILL PID1 PID2 PID3

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

Sintaxis:
# killall [signal or option] Process Name
Or
# pkill Process Name

Para matar a todos instancias de mysql Utilice el comando junto con los procesos secundarios de la siguiente manera.

# killall mysqld
OR
# pkill mysqld

Siempre puede verificar el estado del proceso, ya sea que se esté ejecutando o no, utilizando uno de los siguientes comandos.

# service mysql status
OR
# systemctl status mysql
# pgrep mysql
# ps -aux | grep mysql

Eso es todo de mi parte por ahora. Volveré aquí pronto con otro tema interesante e informativo. Hasta entonces, estad atentos, conectado a Tecmint, y saludable. No olvides dar el tuyo valiosa retroalimentación en la sección de comentarios.

Si valora lo que hacemos aquí en TecMint, aquí hay algunas cosas a considerar:

TecMint es el sitio comunitario más confiable y de más rápido crecimiento para todo tipo de artículos, guías y libros de Linux en Internet. ¡Millones de personas visitan TecMint! para navegar o buscar en los miles de artículos publicados disponibles GRATIS para todos.

Si le gusta lo que lee, recuerde comprarnos un café (o 2) como muestra de agradecimiento.

Agradecemos su apoyo sin fin.

.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba