Obtenga una instantánea de los procesos que se ejecutan en su computadora Linux con el ps
comando . Ubique procesos por nombre, usuario o incluso terminal con tantos detalles como necesite. Te mostramos cómo.
El corazón de todos los sistemas operativos Linux y tipo Unix es el kernel. Entre sus muchas responsabilidades está la asignación de recursos del sistema, como RAM y tiempo de CPU. Estos deben combinarse en tiempo real para que todos los procesos en ejecución obtengan su parte justa, de acuerdo con la prioridad de cada tarea.
A veces, las tareas pueden bloquearse, entrar en un circuito cerrado o dejar de responder por otras razones. O pueden continuar ejecutándose, pero consumen demasiado tiempo de CPU o RAM, o se comportan de una manera igualmente antisocial. A veces, las tareas deben ser eliminadas como misericordia para todos los involucrados. El primer paso. Por supuesto, es identificar el proceso en cuestión.
Pero tal vez no tenga ningún problema con la tarea o el rendimiento. Quizás solo tenga curiosidad acerca de qué procesos se están ejecutando dentro de su computadora y le gustaría echar un vistazo debajo del capó. El ps
comando satisface ambas necesidades. Le brinda una instantánea de lo que está sucediendo dentro de su computadora «ahora mismo».
ps
es lo suficientemente flexible como para brindarle exactamente la información que necesita en el formato que le gustaría. De hecho, ps
tiene muchísimas opciones. Las opciones descritas aquí cubrirán las necesidades más comunes. Si necesita profundizar más ps
de lo que hemos profundizado en este artículo, encontrará que nuestra introducción hace que la página de manual sea más fácil de digerir.
La forma más fácil de usar ps
es encenderlo sin parámetros:
PD
ps
muestra una lista de los procesos iniciados por el usuario que ejecutó el comando.
Las cuatro columnas son:
al agregar el -e
(seleccionar todos los procesos) podemos hacer una ps
lista de los procesos que han sido iniciados por todos los usuarios, no solo por el usuario que está ejecutando el ps
comando. Debido a que esta va a ser una lista larga, la estamos integrando less
.
ps -e | Menos
La lista de procesos se canaliza less
.
Tenemos muchas más entradas en la lista, pero vemos las mismas cuatro columnas que antes. Las entradas con un signo de interrogación ?
en la TTY
columna no se iniciaron desde una ventana de terminal.
A veces, puede ayudar a resolver un problema o identificar un proceso en particular si puede ver qué procesos iniciaron otros procesos. Usamos la -H
opción (jerarquía) para hacerlo.
ps -eH | Menos
La sangría indica qué procesos son padres de qué otros procesos.
Para agregar un poco más de claridad, podemos solicitar ps
agregar algunas líneas ASCII y dibujar la jerarquía como un árbol. La opción para hacer esto es la --forest
opción.
ps -eH --forest | Menos
Esto hace que sea más fácil rastrear qué procesos son los padres de otros procesos.
Puede canalizar la salida de ps
través grep
a la lista de entradas que tienen nombres que coinciden con el término de búsqueda . Aquí buscamos entradas que coincidan con el término de búsqueda «firefox»:
ps -e | grep firefox
En este caso, la salida es una entrada única para el proceso que nos interesa. Por supuesto, si hubiéramos lanzado varias instancias de Firefox, habría más de un elemento devuelto en la lista.
Para agregar más columnas a la salida, use la -f
opción (formato completo).
ps -ef | Menos
Se incluye un conjunto adicional de columnas en la salida de ps
.
Las columnas son:
Al usar la -F
opción (formato extra completo) podemos obtener aún más columnas:
ps -eF | Menos
Las columnas que obtenemos esta vez requieren que la pantalla se desplace hacia los lados para revelarlas todas.
Al presionar la tecla «Flecha derecha», la pantalla se desplaza hacia la izquierda.
Las columnas que obtenemos ahora son:
Una vez que haya encontrado el ID de proceso para el proceso que le interesa, puede usarlo con el ps
comando para enumerar los detalles de ese proceso. Utilice la -p
opción (seleccionar por ID de proceso) para lograr esto:
ps -p 3403
Se enumeran los detalles de este proceso:
No está restringido a un ID de proceso. Puede proporcionar una lista de ID de procesos, separados por espacios.
La -C
opción (comando) le permite buscar un proceso usando el nombre del comando. Es decir, el nombre del comando que inició el proceso. Esto es sutilmente diferente de la línea de comando, que puede incluir nombres de ruta y parámetros u opciones.
obturador ps-C
Se enumeran los detalles del proceso del obturador.
Para ver los procesos que son propiedad de un usuario en particular, use la -u
opción (lista de usuarios):
ps -u maría
Se muestran los procesos propiedad de la cuenta de usuario mary.
Para ver los procesos asociados con un TTY, use la -t
opción (seleccionar por TTY). Si se usa sin un número TTY, la -t
opción informa sobre los procesos asociados con la ventana de terminal actual.
tty
ps -t
El tty
comando informa que se trata de un pseudo-teletipo 0. Los procesos enumerados por ps -t
están todos asociados con TTY pts/0
.
Si pasamos un número TTY en la línea de comando, deberíamos obtener un informe de los procesos asociados con ese TTY.
ps -t 1
Esta vez, todos los procesos están asociados con TTY pts/1
.
Con la -o
opción (formato) puede seleccionar las columnas que desea incluir en la salida ps
. Las columnas se especifican por su nombre. La lista (larga) de nombres de columnas se puede ver en la página del manual en la sección titulada «Especificadores de formato estándar». En este ejemplo, elegimos tener el tiempo de CPU ( pcpu
) y la línea de comando con argumentos ( args
) incluidos en la salida.
ps -e -o pcpu, argumentos | Menos
La salida solo incluye nuestras dos columnas solicitadas.
Puede ordenar la salida por usted usando la --sort
opción. Ordenemos la salida por la columna de la CPU:
ps -e -o pcpu, argumentos --sort -pcpu | Menos
El guión “ -
” en el pcpu
parámetro de clasificación da un orden de clasificación descendente.
Para ver los diez procesos más intensivos de la CPU, canalice la salida a través del head
comando :
ps -e -o pcpu, argumentos --sort -pcpu | cabeza -10
Obtenemos una lista ordenada y truncada.
Si agregamos más columnas a nuestra pantalla, podemos ordenar por más columnas. Agreguemos la pmem
columna. Este es el porcentaje de la memoria de la computadora que está siendo utilizada por el proceso. Sin guión o con un signo más ” +
“, el orden de clasificación es ascendente.
ps -e -o pcpu, pmem, argumentos --sort -pcpu, pmem | cabeza -10
Obtenemos nuestra columna adicional y la nueva columna se incluye en la clasificación. La primera columna se ordena antes que la segunda columna y la segunda columna se ordena en orden ascendente porque no pusimos un guión pmem
.
Hagámoslo un poco más útil y agreguemos la columna de ID de proceso ( pid
) para que podamos ver el número de proceso de cada proceso en nuestra lista.
ps -e -o pid, pcpu, pmem, args --sort -pcpu, pmem | cabeza -10
Ahora podemos identificar los procesos.
Hemos cubierto una variedad de formas de identificar procesos, incluidos nombre, comando, usuario y terminal. También cubrimos formas de identificar procesos por sus atributos dinámicos, como el uso de CPU y la memoria.
Entonces, de una forma u otra, podemos identificar los procesos que se están ejecutando. Al conocer su ID de proceso, podemos (si es necesario) matar cualquiera de esos procesos usando el kill
comando. Si quisiéramos matar el proceso 898, usaríamos este formato:
sudo matar 898
Si todo va bien, el proceso finaliza silenciosamente.
El pkill
comando le permite matar procesos por su nombre . ¡Asegúrese de haber identificado el proceso correcto! Este comando terminará el proceso superior.
sudo pkill top
Una vez más, no tener noticias es una buena noticia. El proceso finaliza silenciosamente.
Si tiene varias copias de un proceso en ejecución, o un proceso ha generado varios procesos secundarios (como puede hacer Google Chrome), ¿cómo puede eliminarlos? Eso es igual de fácil. Usamos el killall
comando.
Tenemos dos copias de top running:
ps -e | parte superior grep
Podemos terminar ambos con este comando :
sudo killall top
Si no hay respuesta, no hay problemas, por lo que ambos procesos han finalizado.
La salida de ps
es una vista de instantánea. No se actualiza. Para obtener una vista actualizada de los procesos, use el top
comando. Proporciona una vista dinámica de los procesos que se ejecutan en su computadora . La pantalla tiene dos partes. Hay un área de tablero en la parte superior de la pantalla formada por líneas de texto y una tabla en la parte inferior de la pantalla formada por columnas.
Comience top
con este comando:
parte superior
Las columnas contienen información sobre los procesos:
El estado del proceso puede ser uno de los siguientes:
Presione la tecla «Q» para salir top
.
Asegúrese de que sea el que está buscando y verifique que no le cause ningún problema. En particular, vale la pena verificar con la -H
(jerarquía) y las --forest
opciones para asegurarse de que no tenga ningún proceso secundario importante que haya olvidado.
El mundo del gaming ha experimentado un crecimiento exponencial en los últimos años. La…
Stokkete/Shutterstock.com ¿Sigue utilizando una unidad flash USB obsoleta para almacenar sus archivos? ¿Por qué no…
LG Los fabricantes siempre intentan mejorar el rendimiento de imagen de los monitores. Como resultado,…
Patty Chan/Shutterstock.com Si cree en lo que ve en las redes sociales, puede pensar en…
Seksan.TH/Shutterstock.com Los servicios de suscripción como Netflix, Game Pass y Spotify nos permiten consumir tantas…
fatmawati achmad zaenuri/Shutterstock El acceso a Internet, oa cualquier otra red, se rige por la…