Gestión de proceso

Gestión de procesos en Ubuntu Linux

Gestión de procesos en Ubuntu Linux
La gestión de procesos en Linux es un tema importante para aprender y comprender, ya que es un sistema operativo multitarea y tiene muchos procesos en curso al mismo tiempo. Linux proporciona muchas herramientas para administrar procesos, como enumerar procesos en ejecución, matar procesos, monitorear el uso del sistema, etc. En Linux, cada proceso está representado por su ID de proceso (PID). Hay algunos otros atributos del proceso, como la identificación del usuario y la identificación del grupo, si un usuario o grupo ejecuta el proceso. A veces es necesario matar o interactuar con un proceso, por lo que debe saber cómo administrar estos procesos para que su sistema funcione sin problemas. En Linux, los procesos se pueden administrar con comandos como ps, pstree, pgrep, pkill, lsof, top, nice, renice y kill, etc.

Procesos

La ejecución de una instancia de un programa se denomina proceso. En Linux, el ID de proceso (PID) se utiliza para representar un proceso que es distintivo para cada proceso. Hay dos tipos de procesos,

Procesos de fondo

Los procesos en segundo plano comienzan en la terminal y se ejecutan por sí mismos. Si ejecuta un proceso en la terminal, su salida se mostrará en una ventana de terminal y podrá interactuar con él, pero si no necesita interactuar con el proceso, puede ejecutarlo en segundo plano. Si desea ejecutar un proceso en segundo plano, simplemente agregue un signo "&" al final del comando, y comenzará a ejecutarse en segundo plano; le ahorrará tiempo y podrá iniciar otro proceso. Para enumerar los procesos que se ejecutan en segundo plano, use el comando 'trabajos.'Mostrará todos los procesos en ejecución en segundo plano.

Por ejemplo, la actualización es un proceso largo en Linux. Lleva demasiado tiempo, y si desea hacer otras cosas mientras el sistema se actualiza, use el comando en segundo plano.

[correo electrónico protegido]: ~ $ sudo apt-get upgrade -y &

Comenzará a ejecutarse en segundo plano. Y puedes interactuar con otros programas mientras tanto. Puede verificar cuántos y qué procesos se están ejecutando en segundo plano escribiendo este comando.

[correo electrónico protegido]: ~ $ trabajos
[1] + Ejecutando sudo apt-get upgrade -y &

Procesos de primer plano

Todos los procesos que ejecutamos en la terminal se ejecutan, por defecto, como procesos en primer plano. Podemos gestionarlos mediante comandos en primer plano y en segundo plano.

Puede traer cualquier proceso en segundo plano enumerado en trabajos al primer plano escribiendo el comando 'fg' seguido del número de proceso en segundo plano.

[correo electrónico protegido]: ~ $ fg% 1
sudo apt-get upgrade -y

Y si desea llevar este proceso a segundo plano, escriba este comando.

[correo electrónico protegido]: ~ $ bg% 1

Listar y administrar procesos con el comando ps

El proceso de listado con el comando ps es una de las formas más antiguas de ver los procesos en ejecución del terminal. Escriba el comando ps para enumerar qué procesos se están ejecutando y cuántos recursos del sistema están usando y quién los está ejecutando.

[correo electrónico protegido]: ~ $ ps u
USUARIO PID% CPU% MEM VSZ RSS TTY ESTADO COMANDO HORA DE INICIO
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 pts / 0 SS 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 ptos / 0 R + 17:19 0:00 ps u
... recortar ..

La columna de usuario muestra el nombre de usuario en la tabla anterior, y PID muestra la identificación del proceso. Puede usar el PID para matar o enviar la señal de matar a un proceso. % CPU muestra el porcentaje de procesador de la CPU y% MEM muestra el uso de memoria de acceso aleatorio. Para matar un proceso, escriba.

[correo electrónico protegido]: ~ $ kill [id de proceso (PID)]

o

[correo electrónico protegido]: ~ $ kill -9 [proceso de identificación (PID)]

Use el comando ps aux para ver todos los procesos en ejecución y agregue una tubería para verlos en orden.

[correo electrónico protegido]: ~ $ ps aux | menos

Si desea reorganizar las columnas, puede hacerlo agregando una bandera -mi para enumerar todos los procesos y -o para indicar las columnas por palabras clave en el comando ps.

[correo electrónico protegido]: ~ $ ps -eo pid, user, uid,% cpu,% mem, vsz, rss, comm
PID USUARIO UID% CPU% MEM VSZ COMANDO RSS
1 raíz 0 0.1 0.1 167848 11684 sistematizado
3032 jim 1000 16.5 4.7 21744776 386524 cromo
... recortar ..

Opciones para el comando ps.

La opción u se utiliza para enumerar los procesos por parte de los usuarios.

[correo electrónico protegido]: ~ $ ps u

La opción f se usa para mostrar la lista completa.

[correo electrónico protegido]: ~ $ ps f

La opción x se utiliza para mostrar información sobre el proceso sin terminal.

[correo electrónico protegido]: ~ $ ps x

La opción se utiliza para mostrar información ampliada.

[correo electrónico protegido]: ~ $ ps e

se usa una opción para listar todos los procesos con el terminal.

[correo electrónico protegido]: ~ $ ps a

La opción v se utiliza para mostrar el formato de la memoria virtual.

[correo electrónico protegido]: ~ $ ps v

Banderas para el comando ps.

-La bandera se utiliza para ver todos los procesos del sistema.

[correo electrónico protegido]: ~ $ ps -e

-La bandera u se usa para ver los procesos que se ejecutan como root.

[correo electrónico protegido]: ~ $ ps -u

-La bandera f se utiliza para una lista completa de procesos.

[correo electrónico protegido]: ~ $ ps -f

-o la bandera se usa para listar los procesos en la columna deseada.

[correo electrónico protegido]: ~ $ ps -o
pstree

pstree es otro comando para listar los procesos; muestra la salida en un formato de árbol.

[correo electrónico protegido]: ~ $ pstree

Opciones para el comando pstree

-norte se utiliza para clasificar procesos por PID.

[correo electrónico protegido]: ~ $ pstree -n

-H se utiliza para resaltar procesos.

[correo electrónico protegido]: ~ $ pstree -H [PID]
[correo electrónico protegido]: ~ $ pstree -H 6457

-a se utiliza para mostrar la salida, incluidos los argumentos de la línea de comandos.

[correo electrónico protegido]: ~ $ pstree -a

-gramo se utiliza para mostrar procesos por ID de grupo.

[correo electrónico protegido]: ~ $ pstree -g

-s se utiliza para la siembra del árbol o proceso específico.

[correo electrónico protegido]: ~ $ pstree -s [PID]
[correo electrónico protegido]: ~ $ pstree -s 6457

[nombre de usuario] se utiliza para mostrar procesos propiedad de un usuario.

[correo electrónico protegido]: ~ $ pstree [nombre de usuario]
[correo electrónico protegido]: ~ $ pstree jim
pgrep

Con el comando pgrep, puede encontrar un proceso en ejecución basado en ciertos criterios. Puede utilizar el nombre completo o la abreviatura del proceso para buscar o por nombre de usuario u otros atributos. El comando pgrep sigue el siguiente patrón.

[correo electrónico protegido]: ~ $ Pgrep [opción] [patrón]
[correo electrónico protegido]: ~ $ pgrep -u jim chrome
Opciones para el comando pgrep

-I se utiliza para buscar mayúsculas y minúsculas

[correo electrónico protegido]: ~ $ Pgrep -i firefox

-D se utiliza para delimitar la salida

[correo electrónico protegido]: ~ $ Pgrep -u jim -d:

-tu se utiliza para encontrar el proceso propiedad de un usuario

[correo electrónico protegido]: ~ $ Pgrep -u jim

-a se utiliza para enumerar procesos junto con sus comandos

[correo electrónico protegido]: ~ $ Pgrep -u jim -a

-C se utiliza para mostrar el recuento de procesos coincidentes

[correo electrónico protegido]: ~ $ Pgrep -c -u jim

-l se utiliza para enumerar procesos y su nombre

[correo electrónico protegido]: ~ $ Pgrep -u jim -l
pkill

Con el comando pkill, puede enviar una señal a un proceso en ejecución según ciertos criterios. Puede utilizar el nombre completo o la abreviatura del proceso para buscar o por nombre de usuario u otros atributos. El comando pgrep sigue el siguiente patrón.

[correo electrónico protegido]: ~ $ Pkill [Opciones] [Patrones]
[correo electrónico protegido]: ~ $ Pkill -9 chrome
Opciones para el comando pkill

-señal se utiliza para enviar una señal e.gramo. SIGKILL, SIGTERM, etc.

[correo electrónico protegido]: ~ $ Pkill --signal SIGTERM vscode

-HUP se utiliza para recargar un proceso

[correo electrónico protegido]: ~ $ Pkill -HUP syslogd

-F se utiliza para matar procesos basados ​​en la línea de comandos completa.

[correo electrónico protegido]: ~ $ Pkill -f “ping 7.7.7.7 "

-tu se utiliza para matar todos los procesos propiedad de un usuario.

[correo electrónico protegido]: ~ $ Pkill -u jim

-I se utiliza para matar el proceso sin distinción entre mayúsculas y minúsculas por pkill.

[correo electrónico protegido]: ~ $ Pkill -i firefox

-9 se utiliza para enviar una señal de muerte.

[correo electrónico protegido]: ~ $ Pkill -9 chrome

-15 se utiliza para enviar una señal de terminación.

[correo electrónico protegido]: ~ $ Pkill -15 vlc
lsof (Lista de archivos abiertos)

Esta utilidad de línea de comandos se utiliza para enumerar archivos abiertos por varios procesos. Y como sabemos, todos los sistemas UNIX / Linux reconocen todo como un archivo, por lo que es conveniente usar el comando lsof para listar todos los archivos abiertos.

[correo electrónico protegido]: ~ $ lsof

En la tabla anterior del comando lsof, FD representa la descripción del archivo, cwd representa el directorio de trabajo actual, txt significa archivo de texto, mem significa archivos mapeados en memoria, mmap significa dispositivos mapeados en memoria, REG representa un archivo normal, DIR representa directorio, rtd significa directorio raíz. Hay otras opciones que puede usar con el comando lsof.

Opciones para el comando lsof.

-C se utiliza para la lista de archivos abiertos por su nombre de proceso.

[correo electrónico protegido]: ~ $ lsof -c chrome

-tu se utiliza para la lista de archivos abiertos por un usuario.

[correo electrónico protegido]: ~ $ lsof -u jim

-I se utiliza para la lista de procesos que se ejecutan en un puerto.

[correo electrónico protegido]: ~ $ lsof -i

+D se utiliza para la lista de archivos abiertos en un directorio.

[correo electrónico protegido]: ~ $ lsof + D / home /

-pag se utiliza para la lista de archivos abiertos por un proceso.

[correo electrónico protegido]: ~ $ lsof -p 1342

Proceso de listado y gestión con el comando superior

Con el comando superior, puede mostrar una vista en tiempo real de los procesos del sistema en ejecución. Muestra los procesos según el uso de la CPU. Puede ordenar la columna según usted. El comando superior también proporciona información sobre su sistema, como cuánto tiempo ha estado funcionando el sistema o cuántos usuarios están conectados al sistema y cuántos procesos se están ejecutando, cuánta CPU y RAM se está utilizando y una lista de cada uno. proceso.

Escriba el comando top para enumerar los procesos en ejecución.

[correo electrónico protegido]: ~ $ top
Tareas: 291 en total, 1 corriendo, 290 durmiendo, 0 detenidas, 0 zombies
% CPU (s): 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0º
MiB Mem: 7880.6 en total, 1259.9 gratis, 3176 usados, 3444.4 beneficio / caché
Intercambio de MiB: 2048.0 en total, 2048.0 libre, 0.0 utilizado. 4091.8 memoria disponible
PID USUARIO PR NI VIRT RES SHR S% CPU% TIEMPO MEM + COMANDO
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 cromo
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 cromo
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 cromo
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 cromo
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 cromo
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 cromo
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnomos+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 cromo
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 cromo
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 cromo
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 cromo
.. .recorte… .

También puede realizar algunas acciones con el comando top para realizar cambios en los procesos en ejecución; aquí está la lista a continuación.

Tenga en cuenta qué proceso consume más memoria o CPU. Los procesos que consumen más memoria se pueden eliminar y los procesos que consumen más CPU se pueden modificar para darles menos importancia al procesador.

Mata un proceso en la parte superior: prensa k y escriba el ID de proceso que desea eliminar. Luego escriba 15 o 9 para matar de forma normal o inmediata; también puede matar un proceso con un comando kill o killall.

Renice un proceso en la parte superior: prensa r y escriba el PID del proceso que desea reiniciar. Le pedirá que ingrese el PID del proceso y luego el valor de nicing que desea darle a este proceso entre -19 y 20 (-19 significa la mayor importancia y 20 significa la menor importancia).

Listado y gestión de procesos con System Monitor

Linux tiene un monitor de sistema gnome para mostrar los procesos en ejecución de forma más dinámica. Para iniciar el monitor del sistema, presione la tecla de Windows y escriba el monitor del sistema, haga clic en su icono y podrá ver los procesos en columnas. Al hacer clic con el botón derecho en ellos, puede matar, detener o reiniciar el proceso.

Los procesos en ejecución se muestran con las cuentas de usuario en orden alfabético. Puede ordenar los procesos por cualquier encabezado de campo como CPU, Memoria, etc., simplemente haga clic en ellos y se ordenarán; por ejemplo, haga clic en CPU para ver qué proceso consume más energía de la CPU. Para administrar procesos, haga clic derecho sobre ellos y seleccione la opción que desea hacer con el proceso. Para gestionar el proceso seleccione las siguientes opciones.

Matar un proceso con matar y matar

El comando kill y killall se usa para matar / finalizar un proceso en ejecución. Estos comandos también se pueden usar para enviar una señal válida a un proceso en ejecución, como decirle a un proceso que continúe, finalice o vuelva a leer archivos de configuración, etc. Las señales se pueden escribir de ambas formas por números o por nombre. Las siguientes son algunas señales de uso común.

Número de señal Descripción

SIGHUP 1 Detecta la señal de colgar en el terminal de control.
SIGINT 2 interpretado desde el teclado.
SIGQUIT 3 Salir del teclado.
SIGILL 4 Instrucciones ilegales.
SIGTRAP 5 se utiliza para rastrear un trape.
SIGABRT 6 se utiliza para cancelar la señal de abortar (3).
SIGKILL 9 Se utiliza para enviar una señal de muerte.
SIGTERM 15 se utiliza para enviar una señal de terminación.
SIGCONT 19,18,25 Se utiliza para continuar un proceso si se detiene.
SIGSTOP 17,19,23 Se utiliza para detener procesos.

Se utilizan diferentes valores de SIGCONT y SIGSTOP en diferentes sistemas operativos Unix / Linux. Para obtener información detallada sobre las señales, escriba el terminal de señales man 7.

Uso del comando kill para enviar señal al proceso por PID.

Tenga en cuenta el proceso al que desea enviar una señal de muerte. Puede encontrar la identificación del proceso (PID) mediante ps o comando superior.

PID USUARIO PR NI VIRT RES SHR S% CPU% TIEMPO MEM + COMANDO
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 arriba

El proceso superior consume 33.3% de la CPU. Si desea finalizar este proceso para ahorrar el uso de la CPU, aquí hay algunas formas de finalizar este proceso con el comando kill.

[correo electrónico protegido]: ~ $ kill 7780
[correo electrónico protegido]: ~ $ kill -15 7780 o $ kill -SIGTERM 7780
[correo electrónico protegido]: ~ $ kill -9 7780 o $ kill -SIGKILL 7780

Uso del comando killall para enviar señales a un proceso por nombre.

Con el comando killall, no es necesario buscar la identificación del proceso; puede enviar una señal de interrupción a un proceso por nombre en lugar de la identificación del proceso. También puede matar más procesos de los que desea si no tiene cuidado, e.gramo., "Killall chrome" eliminará todos los procesos de Chrome, incluidos los que no quieras eliminar. A veces es útil matar procesos con el mismo nombre.

Al igual que el comando kill, puede escribir las señales por nombre o por número en el comando killall. Elimine cualquier proceso en ejecución con el comando killall; solo tienes que escribir su nombre y la señal que quieres enviar. mi.gramo., envíe un proceso de señal de apagado firefox usando el comando killall, escriba el siguiente comando.

[correo electrónico protegido]: ~ $ killall -9 firefox

o

[correo electrónico protegido]: ~ $ killall SIGKILL chrome

Cambiar la prioridad del proceso con nice y renice

Cada proceso en su sistema Linux tiene un valor excelente, y está entre -19 y 20. Decidió qué proceso obtendría más acceso a la CPU en el sistema. Cuanto menor sea el valor de nice, más acceso tiene un proceso al proceso de la CPU. Como -16 valores agradables tienen más acceso a la CPU que 18 valores agradables. Solo un usuario con privilegios de root puede asignar un valor negativo de nice. Un usuario normal solo puede asignar el valor de "agradable" entre 0 y 19. Un usuario normal solo puede asignar valores agradables más altos y en sus propios procesos. Un usuario root puede establecer cualquier valor agradable para cualquier proceso.

Si desea que un proceso sea más accesible para el uso de la CPU asignando el valor agradable, escriba el siguiente comando.

[correo electrónico protegido]: ~ $ nice +3 chrome

Y renice el proceso

[correo electrónico protegido]: ~ $ renice -n -6 3612

Conclusión

Aquí está la guía para administrar su sistema Linux con ps, top, lsof, pstree, pkilll, kill, killall, nice, renice, etc. Algunos procesos consumen la mayor parte del uso de CPU y RAM; Saber cómo administrarlos aumenta la velocidad y el rendimiento de su sistema y le brinda un mejor entorno para ejecutar cualquier proceso que desee de manera más eficiente.

WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...