
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.
.