Usos de exemplo do comando Linux ps

Introdución

O comando ps produce unha lista dos procesos que se están a executar no seu computador.

Esta guía mostraralle os usos máis comúns do comando ps para que poida sacar o máximo partido.

O comando ps úsase comúnmente xunto co comando grep e os máis ou menos comandos.

Estes comandos adicionais axudan a filtrar e paginar a saída de ps, que moitas veces pode ser bastante longa.

Como usar o comando ps

Por si mesmo o comando ps mostra os procesos en execución polo usuario que o executa dentro dunha xanela de terminal.

Para invocar ps, escriba o seguinte:

ps

A saída mostrará filas de datos que conteñan a seguinte información:

O PID é o ID de proceso que identifica o proceso de execución. O TTY é o tipo de terminal.

Por si só o comando ps é bastante limitado. Probablemente queira ver todos os procesos en execución.

Para ver todos os procesos en execución use un dos seguintes comandos:

ps -A

ps -e

Para mostrar todos os procesos, excepto para os líderes de sesión, execute o seguinte comando:

ps-d

Entón, cal é o líder dunha sesión? Cando un proceso inicia outros procesos, é o líder da sesión de todos os outros procesos. Entón, imaxine o proceso A inicia o proceso B eo proceso C. O proceso B inicia o proceso D e o proceso C inicia o proceso E. Cando listas todos os procesos excepto as sesións de líderes verás B, C, D e E pero non A.

Pode negar calquera das seleccións que escolleu empregando o botón -N. Por exemplo, se quere ver só os líderes de sesión executan o seguinte comando:

ps-d -N

Obviamente, a -N non é moi sensible cando se usa cos interruptores -e ou -A xa que non mostrará nada.

Se quere ver só os procesos asociados a este terminal, execute o seguinte comando:

PST

Se desexa ver todos os procesos en execución empregando o seguinte comando:

ps r

Selección de procesos específicos empregando o comando ps

Pode devolver procesos específicos usando o comando ps e hai varias formas de cambiar os criterios de selección.

Por exemplo, se coñece o ID do proceso pode simplemente usar o seguinte comando:

ps -p

Pode seleccionar varios procesos especificando varios ID de proceso como segue:

ps -p "1234 9778"

Tamén pode especificalos mediante unha lista separada por comas:

ps -p 1234,9778

As posibilidades son que non coñeces a ID do proceso e é máis doado buscar por comando. Para facelo usa o seguinte comando:

ps -C

Por exemplo, para ver se Chrome está a executarse pode usar o seguinte comando:

ps-C chrome

Poderá estar sorprendido ao ver que isto retorna un proceso para cada pestana aberta.

Outras formas de filtrar os resultados son por grupo. Pode buscar por nome de grupo usando a seguinte sintaxe:

ps -G
ps --Group

Por exemplo, para descubrir todos os procesos que está a ser executado polo grupo de contas, escriba o seguinte:

ps -G "contas"
ps - "contas de grupo"

Tamén pode buscar por identificador de grupo en vez de nome de grupo usando unha minúscula g do seguinte xeito:

ps -g
ps - grupo

Se desexa buscar por unha lista de ID de sesión use o seguinte comando:

ps -s

Alternativamente, use o seguinte para buscar por tipo de terminal.

ps -t

Se desexa atopar todos os procesos que executa un usuario específico, proba o seguinte comando:

ps U

Por exemplo para atopar todos os procesos correron por executar o seguinte:

ps U "gary"

Teña en conta que isto amosa a persoa cuxas credenciais se usan para executar o comando. Por exemplo, se estou conectado como gary e execute o comando anterior, mostrará todo o comando que executa.

Se inicie sesión como Tom e usa sudo para executar un comando como min entón o comando anterior amosará o comando de Tom como executado por Gary e non por Tom.

Para limitar a lista a só os procesos que realice Gary empregue o seguinte comando:

ps -U "gary"

Formateo ps Comando de saída

Por defecto obtén as mesmas 4 columnas cando usa o comando ps:

Pode obter unha lista completa executando o seguinte comando:

ps -ef

O -e como sabes mostra todos os procesos eo f ou -f mostra os detalles completos.

As columnas retornadas son as seguintes:

A ID de usuario é a persoa que dirixiu o comando. O PID é o ID de proceso do comando Comando. O PPID é o proceso primario que iniciou o comando.

A columna C mostra a cantidade de fillos que ten un proceso. O STime é a hora de inicio do proceso. O TTY é o terminal, o tempo é o tempo que tardou en executarse e o comando foi executado.

Pode obter aínda máis columnas empregando o seguinte comando:

ps -eF

Isto devolve as seguintes columnas:

As columnas extra son SZ, RSS e PSR. SZ é o tamaño do proceso, o RSS é o tamaño da memoria real e PSR é o procesador ao que se lle asigna o comando.

Pode especificar un formato definido polo usuario mediante o seguinte conmutador:

ps -e --format

Os formatos dispoñibles son os seguintes:

Hai moitas máis opcións, pero estas son as máis usadas.

Para usar os formatos escribe o seguinte:

ps -e --format = "uid uname cmd time"

Podes mesturar e combinar os elementos como queiras que sexan.

Ordenar a saída

Para ordenar a saída empregue a seguinte notación:

ps -ef --sort

A elección das opcións de clasificación é a seguinte:

De novo hai máis opcións dispoñibles, pero estas son as máis comúns.

Un comando de sorteo de exemplo é o seguinte:

ps -ef --sort user, pid

Usar ps Con grep, cada vez son máis os comandos

Como se mencionou ao comezo é común usar ps cos comandos grep, cada vez máis.

Os comandos cada vez máis axudarán a filtrar os resultados nunha páxina á vez. Para usar estes comandos, simplemente conectar a saída do grep como segue:

ps -ef | máis
ps -ef | menos

O comando grep axuda a filtrar os resultados do comando ps.

Por exemplo:

ps -ef | grep chrome

Resumo

O comando ps úsase comúnmente para incluír procesos dentro de Linux. Tamén pode usar o comando superior para mostrar os procesos en execución dun xeito diferente.

Este artigo cubriu os interruptores comúns pero hai máis opcións dispoñibles e máis formateadas e ordenadas.

Para saber máis ler as páxinas man Linux para o comando ps.