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:
- PID
- TTY
- Tempo
- Comando
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:
- PID
- TTY
- Tempo
- Comando
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:
- ID do usuario
- PID
- PPID
- C
- STime
- TTY
- Tempo
- Comando
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:
- UID
- PID
- PPID
- C
- SZ
- RSS
- PSR
- STime
- TTY
- Tempo
- Comando
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:
- % CPU - utilización da CPU
- % mem - utilización da porcentaxe de memoria
- args - O comando con todos os seus argumentos
- c - utilización do procesador
- cmd - O comando
- comm - Só o nome do comando
- cp - Uso da CPU
- cmpime - hora da CPU
- egid - Identificación efectiva do grupo
- egroup - grupo efectivo
- etima - Tempo transcorrido
- euid - Id do usuario eficaz
- euser - usuario efectivo
- gid - Id do grupo
- grupo - Nome do grupo
- pgid - ID do grupo de proceso
- pgrp - Grupo de procesos
- ppid - ID de proceso primario
- inicio - tempo de inicio do proceso
- sz - Tamaño en páxinas físicas
- thcount - Fios propiedade do proceso
- tempo - Tempo acumulativo
- uid - Id de usuario
- Uname - Nome de usuario
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:
- cmd - Nome executable
- pcpu - utilización da CPU
- bandeiras - Bandeiras
- pgrp - Id do grupo de proceso
- tempo de traballo - tempo acumulado de usuario
- cstime - Tempo acumulado do sistema
- utime - tempo do usuario
- pid - ID do proceso
- ppid - ID do proceso primario
- tamaño - tamaño
- uid - ID de usuario
- usuario - Nome de usuario
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.