![Cómo encender la linterna agitando el teléfono](/f/e41f51367a9cdabc87c6da69b0b1d8fa.png?width=100&height=100)
En este artículo, analizaremos una comprensión básica de los procesos y veremos brevemente cómo gestionar procesos en Linux usando ciertos comandos.
A proceso se refiere a un programa en ejecución; es una instancia en ejecución de un programa. Se compone de la instrucción del programa, los datos leídos de archivos, otros programas o la entrada de un usuario del sistema.
Existen fundamentalmente dos tipos de procesos en Linux:
Estos son tipos especiales de procesos en segundo plano que comienzan al inicio del sistema y continúan ejecutándose para siempre como un servicio; no mueren. Se inician como tareas del sistema (se ejecutan como servicios), de forma espontánea. Sin embargo, un usuario puede controlarlos a través del proceso de inicio.
Normalmente, se crea un nuevo proceso cuando un proceso existente hace una copia exacta de sí mismo en la memoria. El proceso hijo tendrá el mismo entorno que su padre, pero solo el número de identificación del proceso es diferente.
Hay dos formas convencionales que se utilizan para crear un nuevo proceso en Linux:
Debido a que Linux es un sistema multiusuario, lo que significa que diferentes usuarios pueden ejecutar varios programas en el sistema, cada instancia en ejecución de un programa debe ser identificada de forma única por el kernel.
Y un programa se identifica por su ID de proceso (PID) así como su ID de proceso principal (PPID), por lo tanto, los procesos se pueden clasificar en:
En eso proceso es la madre (padre) de todos los procesos en el sistema, es el primer programa que se ejecuta cuando el Arranque del sistema Linux; gestiona todos los demás procesos del sistema. Lo inicia el propio kernel, por lo que, en principio, no tiene un proceso padre.
El proceso de inicio siempre tiene el ID de proceso de 1. Funciona como padre adoptivo para todos los procesos huérfanos.
Puedes usar el comando pidof para encontrar el ID de un proceso:
# pidof systemd. # pidof superior. # pidof httpd.
Para encontrar el ID del proceso y el ID del proceso principal del shell actual, ejecute:
$ echo $$ $ echo $ PPID.
Una vez que ejecute un comando o programa (por ejemplo, cloudcmd - CloudCommander), iniciará un proceso en el sistema. Puede iniciar un proceso en primer plano (interactivo) de la siguiente manera, se conectará al terminal y un usuario puede enviarlo de entrada:
# cloudcmd.
Para iniciar un proceso en segundo plano (no interactivo), utilice el &
símbolo, aquí, el proceso no lee la entrada de un usuario hasta que se mueve al primer plano.
# cloudcmd & # trabajos.
También puede enviar un proceso a un segundo plano suspendiéndolo usando [Ctrl + Z]
, esto enviará el SIGSTOP señal al proceso, deteniendo así sus operaciones; se vuelve inactivo:
# tar -cf backup.tar / backups / * #presiona Ctrl + Z # trabajos.
Para continuar ejecutando el comando suspendido anteriormente en segundo plano, use el bg mando:
# bg.
Para enviar un proceso en segundo plano al primer plano, utilice el fg comando junto con el ID del trabajo así:
# trabajos. # fg% 1.
También te puede interesar: Cómo iniciar el comando de Linux en segundo plano y desconectar el proceso en la terminal
Durante la ejecución, un proceso cambia de un estado a otro dependiendo de su entorno / circunstancias. En Linux, un proceso tiene los siguientes estados posibles:
Hay varias herramientas de Linux para ver / enumerar los procesos en ejecución en el sistema, las dos tradicionales y bien conocidas son PD y cima comandos:
Muestra información sobre una selección de los procesos activos en el sistema como se muestra a continuación:
# ps # ps -e | cabeza
top es una herramienta poderosa que te ofrece un vista dinámica en tiempo real de un sistema en ejecución como se muestra en la captura de pantalla a continuación:
# cima
Lea esto para ver más ejemplos de uso principales: 12 ejemplos de comandos TOP en Linux
miradas es una herramienta de supervisión del sistema relativamente nueva con funciones avanzadas:
# miradas.
Para obtener una guía de uso completa, lea: Glances: una herramienta avanzada de supervisión del sistema en tiempo real para Linux
Hay varias otras herramientas útiles de monitoreo del sistema Linux que puede usar para enumerar los procesos activos, abra el enlace a continuación para leer más sobre ellos:
Linux también tiene algunos comandos para controlar procesos como kill, pkill, pgrep y killall, a continuación se muestran algunos ejemplos básicos de cómo usarlos:
$ pgrep -u tecmint top. $ matar 2308. $ pgrep -u tecmint top. $ pgrep -u tecmint mira. $ pkill miradas. $ pgrep -u tecmint mira.
Para aprender a usar estos comandos en profundidad, para matar / terminar procesos activos en Linux, abra los enlaces a continuación:
Tenga en cuenta que puede usarlos para matar aplicaciones que no responden en Linux cuando su sistema se congela.
La forma fundamental de controlar los procesos en Linux es enviándoles señales. Hay varias señales que puede enviar a un proceso, para ver todas las señales que se ejecutan:
$ matar -l.
Para enviar una señal a un proceso, use los comandos kill, pkill o pgrep que mencionamos anteriormente. Pero los programas solo pueden responder a las señales si están programados para reconocer esas señales.
Y la mayoría de las señales son para uso interno del sistema o para programadores cuando escriben código. Las siguientes son señales que son útiles para un usuario del sistema:
[Ctrl + C]
.[Ctrl + D]
.[Ctrl + Z]
.Los siguientes son ejemplos de comandos de eliminación para eliminar la aplicación Firefox usando su PID una vez que se congela:
$ pidof firefox. $ matar 9 2687. O. $ matar -KILL 2687. O. $ matar -SIGKILL 2687
Para matar una aplicación usando su nombre, use pkill o killall así:
$ pkill firefox. $ killall firefox
En el sistema Linux, todos los procesos activos tienen una prioridad y cierto valor agradable. Los procesos con mayor prioridad normalmente obtendrán más tiempo de CPU que los procesos de menor prioridad.
Sin embargo, un usuario del sistema con privilegios de root puede influir en esto con la bonito y re bueno comandos.
Desde la salida del comando top, el NI muestra el valor agradable del proceso:
$ top
Utilizar el bonito comando para establecer un buen valor para un proceso. Tenga en cuenta que los usuarios normales pueden atribuir un buen valor de cero a 20 a los procesos que poseen.
Solo el usuario root puede usar valores agradables negativos.
Para re bueno la prioridad de un proceso, utilice el re bueno comando de la siguiente manera:
$ renice +8 2687. $ renice +8 2103.
Consulte nuestros artículos útiles sobre cómo administrar y controlar los procesos de Linux.
¡Eso es todo por ahora! Si tiene alguna pregunta o idea adicional, compártala con nosotros a través del formulario de comentarios a continuación.