ps Comando
Propósito
Mostra status dos processos. Este documento descreve o comando padrão " AIX, " ps e o comando " Versão System V do ' ps.
Sintaxe
- Padrões X/Abertos
- Padrões Berkeley
Descrição
O comando ps grava o status de processos ativos e, se a sinalização -m for fornecida, exibe os encadeamentos kernel associados para a saída padrão. Enquanto a sinalização -m exibe encadeamentos associados a processos usando linhas extras, deve-se usar a sinalização -o com o especificador do campo THREAD para exibir colunas extras relacionadas ao encadeamento.
Sem sinalizadores, o comando ps exibe informações sobre o terminal atual Os sinalizadores -f, -o, l, -l, s, ue v determinam apenas quantas informações são fornecidas sobre um processo; eles não determinam quais processos são listados As sinalizações l, s, ue v são mutualmente exclusivas.
Com a sinalização -o , o comando ps examina a memória ou a área de paginação e determina o nome do comando e os parâmetros quando o processo foi criado. Se o comando ps não puder localizar essas informações, o nome do comando que está armazenado no kernel será exibido entre colchetes.
A variável de ambiente COLUMNS substitui o tamanho da tela horizontal, selecionado pelo sistema.
As sinalizações da linha de comandos que aceitam uma lista de parâmetros (as sinalizações -o, -G, -g, -p, -t, -Ue -u ) são limitadas a 128 itens. Por exemplo, a sinalização -u Ulist pode especificar no máximo 128 usuários.
Para casos nos quais a saída do comando ps não inclui nomes de partição de carga de trabalho (WPAR), mas inclui IDs de Projeto (PROJECT), IDs de usuário (UID ou USER) ou IDs de grupo (GID) associados a um processo em execução em uma partição de carga de trabalho no ambiente operacional atual, os IDs são precedidos por um sinal de mais (+) para indicar a associação com uma partição de carga de trabalho. Cada partição de carga de trabalho contém sua própria definição de usuários, grupos e IDs do projeto que podem ser diferentes dos IDs definidos no ambiente global. A opção -@ pode ser especificada para incluir nomes de partição de carga de trabalho na saída..
Dependendo das sinalizações usadas com o comando ps , os títulos da coluna são exibidos acima das informações que são exibidas para a saída padrão. Os títulos são definidos na lista a seguir e os sinalizadores que fazem com que esses títulos sejam exibidos são mostrados entre parênteses:
- End
- (sinalizadores-l e l ) Contém o número do segmento da pilha do processo, se normal; se um processo kernel, o endereço da área de dados do pré-processo.
- BND
- (sinalizador-o THREAD ) O número do processador lógico do processador ao qual o encadeamento kernel está ligado, se houver. Para um processo, este campo é exibido se todas as suas threads estiverem ligadas ao mesmo processador.
- C
- (sinalizadores-f, le -l ) utilização de CPU de um processo ou encadeamento, que é incrementado cada vez que o relógio do sistema marca e o processo ou encadeamento está em execução. O valor é decaído pelo planejador dividindo-o por 2 uma vez por segundo. Para a política do
sched_other, a utilização da CPU é usada na determinação da prioridade de planejamento do processo Valores grandes indicam um processo intensivo de CPU e resultam em menos prioridade de processo, enquanto valores pequenos indicam um processo intensivo de E/S e resultam em uma prioridade mais favorável. - CMD
- (-f, -le l flags) Contém o nome do comando. Sob a sinalização -f , o comando ps tenta determinar o nome e os argumentos do comando atual, ambos os quais podem ser alterados de forma assíncrona pelo processo. Estes são então exibidos. Se isso falhar, o nome do comando será gravado como apareceria sem a opção -f entre colchetes.
- Comando
- (s, ue v) Contém o nome do comando.. O nome completo do comando e seus parâmetros são exibidos com o sinalizador -fF Tabela de Campo
Sinalizações Valor hexadecimal Definição SLOAD0x00000001 Indica que o processo está operando em memória principal. SNOSWAP0x00000002 Indica que o processo não pode ser trocado para fora. STRC0x00000008 Indica que o processo está sendo rastreado. SWTED0x00000010 Indica que o processo parou enquanto estava rastreado. SFWTED0x00000020 Indica que o processo foi interrompido após uma chamada para a sub-rotina fork, durante o rastreio.SEWTED0x00000040 Indica que o processo foi interrompido após uma chamada para a sub-rotina exec, durante o rastreio.SLWTED0x00000080 Indica que o processo foi interrompido após uma chamada para a sub-rotina loadouunload, enquanto estava sendo rastreadoSFIXPRI0x00000100 Indica que o processo tem uma prioridade fixa, ignorando o descritor de campo pcpuSKPROC0x00000200 Indica um processo de Kernel. SOMASK0x00000400 Indica restauração da máscara antiga depois que um sinal é recebido. SWAKEONSIG0x00000800 Indica que o sinal interrompe a sub-rotina sleep.. O conteúdo não deve ser igual aos do sinalizadorPCATCHOs conteúdos dePCATCHeSWAKEONSIGdevem ser maiores do que os dePMASKSUSER0x00001000 Indica que o processo está no modo usuário. SLKDONE0x00002000 Indica que o processo foi concluído bloqueado STRACING0x00004000 Indica que o processo é um processo de depuração. SMPTRACE0x00008000 Indica depuração de vários processos. SEXIT0x00010000 Indica que o processo está saindo. SSEL0x00020000 Indica que o processador está selecionando: perigo de maquiagem ou de espera. SORPHANPGRP0x00040000 Indica um grupo de processos órfãos. SNOCNTLPROC0x00080000 Indica que o líder da sessão abdicou do terminal de controle. SPPNOCLDSTOP0x00100000 Indica que o sinal SIGHLDnão é enviado para o processo pai quando um filho para.SEXECED0x00200000 Indica que o processo tem.. SJOBSESS0x00400000 Indica que o controle de tarefas foi usado na sessão atual. SJOBOFF0x00800000 Indica que o processo está livre do controle de tarefas. PSIGDELIVERY0x01000000 Indica que o processo é usado pelo manipulador de check-check. SRMSHM0x02000000 Indica que o processo removeu memória compartilhada durante uma chamada para a sub-rotina exit.SSLOTFREE0x04000000 Indica que o slot de processo é gratuito. SNOMSG0x08000000 Indica que não há mais mensagens de sub-rotina uprintf. - WPAR
- (-@ flag) Contém o nome da partição de carga de trabalho. Sob a sinalização -@ , o comando ps exibe o nome da partição de carga de trabalho na qual o processo está em execução. Especifique o sinalizador -@ com o parâmetro wparname para exibir as informações do processo
- DPGSZ
- (Z flag) O tamanho da página de dados do processo.
F- (sinalizadores-l e l ) Alguns dos sinalizadores mais importantes do campo
F(hexadecimal e aditivo) associados a processos e encadeamentos são listados na tabela a seguir:F Tabela de CampoSinalizações Valor hexadecimal Definição SLOAD0x00000001 Indica que o processo está operando em memória principal. SNOSWAP0x00000002 Indica que o processo não pode ser trocado para fora. STRC0x00000008 Indica que o processo está sendo rastreado. SKPROC0x00000200 Indica um processo de kernel. SEXIT0x00010000 Indica que o processo está saindo. SLPDATA0x00020000 Indica que o processo usa páginas grandes. SEXECED0x00200000 Indica que o processo tem.. SEXECING0x01000000 Indica que o processo está execendo (realizando um exec). SPSEARLYALLOC0x04000000 Indica que o espaço de paginação para este processo é alocado antecipadamente. TKTHREAD0x00001000 Indica que a thread é um fio somente de kernel. Nota: É possível ver as definições de todos os sinalizadores de processo e encadeamento consultando os camposp_flagset_flagsnos arquivos /usr/include/sys/proc.h e /usr/include/sys/thread.h respectivamente.
- lim
- (v flag) O limite flexível na memória usada, especificado por meio de uma chamada para a subrotina
setrlimit. Se o limite não foi especificado,xxserá exibido. Se o limite for configurado para o limite do sistema (ilimitado), um valorUNLIMserá exibido. - NI
- (sinalizadores-l e l ) O valor nice; usado no cálculo de prioridade para a política
sched other... - PID
- (todas as bandeiras) O ID do processo do processo.
- PGIN
- (sinalizadorv ) O número de E/Ss de disco resultantes de referências pelo processo para páginas não carregadas no núcleo..
- PPID
- (sinalizadores-f, le -l ) O ID do processo pai.
- PRI
- (sinalizadores-l e l ) A prioridade do encadeamento de processo ou kernel; números mais altos significam menos prioridade.
- PROJETO
- (sinalizador-P ) Nome do projeto designado ao processo. No ambiente operacional atual, os campos
PROJECTeUSERnão são convertidos em nomes para processos em execução em uma partição de carga de trabalho. As sinalizações -U e -u se aplicam apenas ao ambiente operacional atual, a menos que a sinalização -@ seja incluída com um nome de partição de carga de trabalho específico. Se a sinalização -@ for usada para especificar uma partição de carga de trabalho diferente do ambiente operacional atual e os sinalizadores -U e -u forem especificados, a lista de IDs do usuário deverá ser numérica. - RSS
- (v flag) O tamanho da memória real (conjunto residente) do processo (em unidades de 1 KB).
- S
- (sinalizadores-l e l ) O estado do processo ou encadeamento kernel:
Para processos:
O- Inexistente
A- Ativo
W- Trocado
I- Idle (esperando por startup)
Z- Cancelado
T- Parado
Para threads de kernel:
O- Inexistente
R- Executando
S- Suspenso
W- Trocado
Z- Cancelado
T- Parado
SC- (-o THREAD flag) A contagem suspensa do processo ou encadeamento kernel. Para um processo, a contagem suspensa é definida como a soma das contagens de suspensão de encadeamentos kernel.
SCH- (-o THREAD, sched flag) A política de planejamento para um encadeamento kernel. As políticas
sched_other,sched_fifoesched_rrsão exibidas respectivamente usando:0,1,2. As políticas de planejamento são exibidas apenas quando um sinalizadorschedé especificado SIZE- (v flag) O tamanho virtual da seção de dados do processo (em unidades de 1 KB).
SHMPGSZ- (Z flag) O tamanho da página de memória compartilhada do processo.
SPGSZ- (Z flag) O tamanho da página de pilha do processo.
SSIZ- (s flag) O tamanho da pilha kernel. Esse valor é sempre 0 (zero) para um processo multi-encadeado.
STAT- (sinalizadoress, ue v ) Contém o estado do processo:
0- Inexistente
A- Ativo
I- Intermediário
Z- Cancelado
T- Parado
K- Processo de kernel disponível
- ESTILO
- (sinalizações-f e u ) O horário de início do processo. As variáveis de ambiente
LANGcontrolam a aparência desse campo.. - SUBPROJ
- (sinalizador-P ) Identificador de subprojeto designado ao processo.
- SZ
- (sinalizações-l e l ) O tamanho em unidades de 1 KB da imagem principal do processo.
- THCNT
- (-o thcount flag) O número de encadeamentos kernel pertencentes ao processo.
- TID
- (-o THREAD flag) O ID de encadeamento do encadeamento kernel.
- Horário
- (todas as bandeiras) O tempo de execução total para o processo. O horário será exibido no formato de mm: ss ou mmmm: ss se o tempo de execução atingir 100 minutos, que é diferente do formato exibido se você usar a sinalização -o time .
- TPGSZ
- (Z flag) O tamanho da página de texto do processo.
- TRS
- (sinalizaçãov ) O tamanho do conjunto residente (memória real) de texto.
- TSIZ
- (v flag) O tamanho da imagem de texto (programa compartilhado).
TTY- (todas as bandeiras) O terminal de controle para o processo:
-- O processo não está associado a um terminal.
?- Desconhecido.
- Número
- O número de
TTYPor exemplo, a entrada2indicaTTY2..
- UID
- (sinalizações-f, -le l ) O ID do usuário do proprietário do processo. O nome de login é impresso na sinalização -f .
- Usuário
- (u flag) O nome de login do proprietário do processo. No ambiente operacional atual, os campos
PROJECTeUSERnão são convertidos em nomes para processos em execução em uma partição de carga de trabalho. - WCHAN
- (-l flag) O evento pelo qual o processo ou encadeamento kernel está aguardando ou suspenso. Para uma thread de kernel, este campo está em branco se a thread do kernel estiver em execução. Para um processo, o canal de espera é definido como o canal de espera da thread do kernel adormecido se apenas uma thread do kernel estiver dormindo; caso contrário, uma estrela será exibida.
- WCHAN
- (l flag) O evento no qual o processo está esperando (um endereço no sistema). Um símbolo que classifica o endereço é selecionado, a menos que uma saída numérica seja solicitada.
- %CPU
- (sinalizadoresu e v ) A porcentagem de tempo que o processo usou a CPU desde que o processo foi iniciado. Esse valor é calculado dividindo o tempo que o processo usa a CPU pelo tempo decorrido do processo. Em um ambiente com vários processadores, o valor é dividido ainda mais pelo número de CPUs disponíveis porque várias threads no mesmo processo podem rodar em diferentes CPUs ao mesmo tempo. (Como a base de tempo sobre a qual esses dados são calculados varia, a soma de todos os campos
%CPUpode exceder 100%.) - %MEM
- (sinalizadoresu e v ) A porcentagem de memória real usada por esse processo. O valor
%MEMtende a exagerar o custo de um processo que está compartilhando texto do programa com outros processos. Ele não conta por vezes em que várias cópias de um programa são executadas e uma cópia do texto do programa é compartilhada por todas as instâncias. O tamanho da seção de texto é contabilizados em todas as instâncias do programa. Isso significa que se várias cópias de um programa forem executadas, o valor total%MEMde todos os processos poderá exceder 100%.
<defunct>. Um processo que é bloqueado tentando sair é marcado como <exiting>. O comando ps tenta determinar o nome do arquivo e os argumentos fornecidos quando o processo foi criado pela memória ou pela área de troca.- O processo pode ser mudado enquanto o comando ps está em execução Alguns dados exibidos para processos extintos são irrelevantes.
- O programa ps examina a memória para recuperar o nome do arquivo e os argumentos usados quando o processo foi criado. No entanto, um processo pode destruir informações, tornando este método de recuperação de nome de arquivo e argumentos não confiáveis.
- O programa ps procura os recursos locais para usuários e informações sobre o grupo
Sinalizações
As sinalizações a seguir são precedidas por um - (sinal de menos):
| Item | Descrição |
|---|---|
| -A | Escreve para informações de saída padrão sobre todos os processos. |
| -a | Escreve para obter informações de saída padrão sobre todos os processos, exceto os líderes de sessão e processos não associados a um terminal. |
| -c Clista | Exibe apenas informações sobre processos designados às classes de gerenciamento de carga de trabalho listadas na variável Clist . A variável Clist é uma lista separada por vírgulas de nomes de classes ou uma lista de nomes de classes que estão entre aspas duplas (""), que é separado um do outro por uma vírgula ou por um ou mais espaços, ou ambos |
| -d | Grava informações para a saída padrão sobre todos os processos, exceto os líderes de sessão. |
| -e | Grava informações para saída padrão sobre todos os processos, exceto processos do kernel. |
| -F Formato | Igual ao -o Formato |
| -f | Gera uma listagem completa. |
| -G Glist | Grava informações na saída padrão apenas sobre processos que estão nos grupos efetivos listados para a variável Glist . A variável Glist é uma lista separada por vírgulas de identificadores de grupo efetivos ou uma lista de identificadores de grupo efetivos entre aspas duplas (" ") e separados uns dos outros por uma vírgula ou por um ou mais espaços. |
| -g Glist | Grava informações na saída padrão apenas sobre processos que estão nos grupos de processos listados para a variável Glist . A variável Glist é uma lista separada por vírgula de identificadores do grupo de processos ou uma lista de identificadores do grupo de processos que são colocados entre aspas duplas (" ") e separados uns dos outros por uma vírgula ou por um ou mais espaços... |
| -k | Lista processos do kernel. |
| -l | Gera uma listagem longa. Consulte também o sinalizador l . |
| -L lista de pid | Gera uma lista de descendentes de cada pid que foi passado para ele na variável pidlist A variável pidlista é uma lista de IDs de processos separados por vírgula. A lista de descendentes de todos os pid indicados é impressa na ordem em que aparecem na tabela de processos. |
| -M | Lista todos os processos de 64 bits.. |
| -m | Lista encadeamentos e processos kernel. Linhas de saída para processos são seguidas por uma linha de saída extra para cada encadeamento kernel. Esse sinalizador não exibe campos específicos do encadeamento (bnd, scount, sched, thcounte tid), a menos que o sinalizador -o Format apropriado seja especificado. |
| -N | Reúne estatísticas sem fio. Com esse sinalizador, o ps relata essas estatísticas que podem ser obtidas não atravessando a cadeia de encadeamentos para o processo |
| -n NameList | Especifica um arquivo de lista de nomes do sistema alternativo no lugar da inadimplência. O sistema operacional não usa a sinalização -n porque as informações são fornecidas diretamente para o kernel. |
| -o Formato | Exibe informações no formato especificado pela variável Format . Vários especificadores de campo podem ser especificados para a variável Formato . A variável Format é uma lista separada por vírgula de especificadores de campo ou uma lista de especificadores de campo que estão incluídos em um conjunto de "" (aspas duplas) e separados um do outro por uma vírgula ou por um ou mais espaços ou ambos. Cada especificador de campo tem um cabeçalho padrão. O cabeçalho padrão pode ser substituído anexando um Os seguintes especificadores de campo são reconhecidos pelo sistema:
|
| -o Continuação |
|
| -o Continuação |
Caso contrário, vários campos em um formato especificado podem ser exibidos pela variável Formato , incluindo descritores de campo. Se os descritores de campo forem usados na variável Formato , ele deve ser enfechado entre aspas duplas (""). A tabela a seguir mostra como os descritores de campo correspondem a especificadores de campo: |
Cada especificador de campo tem um cabeçalho padrão. O cabeçalho padrão pode ser substituído por apiminência de um sinal de igual (=) seguido pelo texto definido pelo usuário para o cabeçalho. Os campos são gravados na ordem especificada na linha de comandos no formato de coluna. As larguras de campo são especificadas pelo sistema para serem pelo menos tão amplas quanto o texto de cabeçalho padrão ou definido pelo usuário. Se o texto do cabeçalho for nulo (por exemplo, |
|
Segue-se o mapeamento entre os cabeçalhos padrão e vários especificadores de campo. Toda entrada na coluna Cabeçalho Padrão pode ser substituída por anexar um sinal de igual (=) para a entrada correspondente no especificador de Campo seguido do texto definido pelo usuário para o cabeçalho.
|
|
| -p Lista | Exibe apenas informações sobre processos com os números de processo especificados para a variável Plist . A variável Plist é uma lista separada por vírgula de números de ID do processo ou uma lista de números de ID do processo que são colocados entre aspas duplas ("") e separados um do outro por uma vírgula ou por um ou mais espaços, ou ambos, |
| -P | Exibe o nome do Projeto, origem do Projeto e identificador do subprojeto para o projeto. Se o bit de bastão for configurado para o processo, o nome do projeto é precedido por um caractere asterisco (*). O campo Project origin designa o repositório do projeto carregado atualmente (LOCAL ou LDAP). |
| -t Lista técnica | Exibe apenas informações sobre processos associados aos ttys de controle listados na variável Tlist . A variável Tlist é uma lista separada por vírgula de identificadores tty ou uma lista de identificadores tty que são colocados entre aspas duplas ("") e separados um do outro por uma vírgula ou por um ou mais espaços, ou ambos, |
| -T pid | Exibe a hierarquia do processo que é enraizada em um determinado pid em um formato de árvore usando a arte ASCII Essa sinalização pode ser usada com as sinalizações -f, -F, -oe -l . |
| -u Ulist | Essa sinalização é equivalente à sinalização -U Ulist . A sinalização -u aplica-se apenas ao ambiente operacional atual, a menos que a sinalização -@ também seja especificada. Se a sinalização -@ for usada para especificar uma partição de carga de trabalho diferente do ambiente operacional atual e a sinalização -u for especificada, a lista de IDs do usuário deverá ser numérica. |
| -U Ulist | Exibe apenas informações sobre processos com os números de ID do usuário ou nomes de login especificados para a variável Ulist . A variável Ulista é uma lista separada por vírgula de IDs de usuários ou uma lista de IDs de usuários enfectados em aspas duplas ("") e separados uns dos outros por uma vírgula e um ou mais espaços. A sinalização -U aplica-se apenas ao ambiente operacional atual, a menos que a sinalização -@ também seja especificada. Se a sinalização -@ for usada para especificar uma partição de carga de trabalho diferente do ambiente operacional atual e a sinalização -U for especificada, a lista de IDs do usuário deverá ser numérica. Na listagem, o comando ps exibe o ID do usuário numérico, a menos que a sinalização -f seja usada; em seguida, o comando exibe o nome de login. Essa sinalização é equivalente à sinalização -u Ulist . Consulte também o sinalizador u |
| -X | Imprime todos os caracteres disponíveis de cada nome de usuário / grupo em vez de truncar para os oito primeiros caracteres. |
| -Z | Exibe as configurações de tamanho da página de processos.
|
| -@ [ WparName ] | Exibe as informações do processo associadas à partição de carga de trabalho WparName. Se você não especificar o parâmetro WparName , as informações do processo para todas as partições de carga de trabalho serão exibidas.. Informações de partição de carga de trabalho são exibidas para todos os processos. Especifique outras sinalizações para o comando ps para determinar quais informações do processo serão exibidas. |
Opções
As opções a seguir não são precedidas de um sinal de menos (-):
| Item | Descrição |
|---|---|
a |
Exibe informações sobre todos os processos com terminais (ordinariamente apenas os processos próprios do usuário são exibidos). |
c |
Exibe o nome do comando, conforme armazenado internamente no sistema para finalidades contábeas, em vez dos parâmetros de comando, que são mantidos no espaço de endereço do processo. |
e |
Exibe o ambiente e os parâmetros para o comando, até um limite de 80 caracteres. |
ew |
Agrupa a exibição do sinalizador e uma linha extra. |
eww |
Agrupa a exibição da sinalização e e exibe a lista ENV até que a sinalização atinja o valor LINE_MAX . |
ewww |
Agrupa a exibição da sinalização e e exibe a lista ENV até que a sinalização atinja o valor INT_MAX . |
g |
Exibe todos os processos. |
| l | Exibe uma longa listagem com os campos F, s, UID, PID, PPID, C, PRI, NI, ADDR, SZ, PSS, WCHAN, TTY, TIME e CMD . |
n |
Exibe saída numérica. Em uma lista longa, o campo WCHAN é impresso numericamente em vez de simbolicamente. Em uma listagem de usuário, o campo USER é substituído por um campo UID |
| s | Exibe o tamanho (SSIZ) da pilha kernel de cada processo (para uso pelos mantenedores do sistema) no formato de saída básico. Esse valor é sempre 0 (zero) para um processo multi-encadeado. |
t tty |
Exibe processos cujo tty de controle é o valor da variável tty , que deve ser especificado como impresso pelo comando ps ; ou seja, 0 para terminal /dev/tty/0, lft0 para /dev/lft0e pts/2 para /dev/pts/2. |
| u | Exibe saída orientada ao usuário. Isso inclui os campos USER, PID, %CPU, %MEM, SZ, RSSe TTY, STAT, STIME, TIMEe COMMAND . |
| v | Exibe os campos PGIN, SIZE, RSS, LIM, TSIZ, TRS, %CPU, %MEM |
w |
Especifica um formato de coluna ampla para saída (132 colunas em vez de 80). Se repetido, (por exemplo, ww), usa uma saída arbitrariamente ampla) Essas informações são usadas para decidir o quanto de comandos longos para imprimir. |
x |
Exibe processos sem um terminal de controle além de processos com um terminal de controle. |
X |
Imprime o nome completo do usuário ou nome do grupo. O nome não é truncado. |
Status de saída
Esse comando retorna os valores de saída a seguir:
| Item | Descrição |
|---|---|
| 0 | Conclusão bem-sucedida. |
| >0 | Ocorreu um erro. |
Segurança
Attention RBAC users: esse comando pode executar operações privilegiadas. Somente usuários privilegiados podem executar essas operações. Para
obter mais informações sobre autorizações e privilégios, consulte Banco de Dados de
Comandos Privilegiados em Segurança. Para obter uma lista de privilégios e as autorizações associadas a esse comando, consulte o comando lssecattr ou o subcomando getcmdattr.
Exemplos
- Para exibir todos os processos, digite:Para exibir todos os processos com nome de usuário expandido, digite:
ps -e -fps -X -e -f - Para listar processos de propriedade de usuários específicos, digite:
ps -f -l -ujim,jane,su - Para listar processos que estão associados ao tipo de ttys
/dev/consolee/dev/tty1:ps -t console,tty/1 - Para listar processos não associados a um terminal, digite:
ps -t - - Para exibir um formato especificado com especificadores de campo, digite:
A saída é:ps -o ruser,pid,ppid=parent,argsRUSER PID parent COMMAND helene 34 12 ps -o ruser,pid,ppid=parent,args - Para exibir um formato especificado com descritores de campo, digite:
A saída é:ps -o "< %u > %p %y : %a"< RUSER > PID TT : COMMAND < helene > 34 pts/3 : ps -o < %u > %p %y : %a - Para exibir informações sobre processos e encadeamentos kernel que são controlados pelo tipo de terminal atual:
A saída é como:ps -lmF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 240003 A 26 8984 7190 1 60 20 2974 312 pts/1 0:00 -ksh 400 S - - - 1 60 - - - - - - 200005 A 26 9256 8984 15 67 20 18ed 164 pts/1 0:00 ps 0 R - - - 15 67 - - - - - - - Para exibir informações sobre todos os processos e threads de kernel, digite:
A saída é como:ps -emo THREADUSER PID PPID TID S C PRI SC WCHAN FLAG TTY BND CMD jane 1716 19292 - A 10 60 1 * 260801 pts/7 - biod - - - 4863 S 0 60 0 599e9d8 8400 - - - - - - 5537 R 10 60 1 5999e18 2420 - 3 - luke 19292 18524 - A 0 60 0 586ad84 200001 pts/7 - -ksh - - - 7617 S 0 60 0 586ad84 400 - - - luke 25864 31168 - A 11 65 0 - 200001 pts/7 - - - - - 8993 R 11 65 0 - 0 - - - - Para listar todos os 64-bit processos, digite:
ps -M - Para exibir os detalhes de atribuição do projeto para os processos, digite:
ps -P - Para exibir as configurações de tamanho da página do processo, digite:
A saída é como:ps -ZPID TTY TIME DPGSZ SPGSZ TPGSZ SHMPGSZ CMD 41856 pts/15 0:00 4K 4K 4K 64K ps 84516 pts/15 0:00 4K 4K 4K 64K ksh
Arquivos
| Item | Descrição |
|---|---|
/usr/bin/ps |
Contém o comando ps |
Usando o comando ps em Gerenciamento de desempenho
Comando do sistema V ps
Sintaxe (Sistema V)
Descrição (Sistema V)
O comando ps imprime informações sobre processos ativos. Sem sinalizadores, ps imprime informações sobre processos que estão associados ao terminal de controle. A saída contém o ID do processo, identificador do terminal, tempo de execução acumulado e o nome do comando. As informações exibidas com sinalizadores variam de acordo.
- Saída
Dependendo dos sinalizadores usados com o comando ps , os títulos da coluna variam para as informações exibidas Os títulos são definidos na lista a seguir (sinalizadores que fazem com que esses títulos apareçam são mostrados entre parênteses):
- F (-l)
- Sinalizadores (hexadecimal e aditivo) associados ao processo ou ao encadeamento se a opção -L for especificada. Alguns dos sinalizadores de campo
Fmais importantes (hexadecimal e aditivo) associados a processos e encadeamentos são mostrados após isso:F Tabela de CampoSinalizações Valor hexadecimal Definição SLOAD0x00000001 Indica que o processo está operando em memória principal. SNOSWAP0x00000002 Indica que o processo não pode ser trocado para fora. STRC0x00000008 Indica que o processo está sendo rastreado. SKPROC0x00000200 Indica um processo de Kernel. SEXIT0x00010000 Indica que o processo está saindo. SEXECED0x00200000 Indica que o processo tem.. SEXECING0x01000000 Indica que o processo está execendo (realizando um exec). TKTHREAD0x00001000 Indica que a thread é um kernel apenas thread. Nota: É possível ver as definições de todos os sinalizadores de processos e encadeamentos referindo-se aos camposp_flagset_flagsnos arquivos/usr/include/sys/proc.he/usr/include/sys/thread.hrespectivamente. - S (-l)
- O estado do processo ou encadeamento kernel:Para processos:
- O
- Inexistente
- A
- Ativo
- W
- Trocado
- I
- Inativa
- Z
- Cancelado
- T
- Parado
Para threads de kernel:- O
- Inexistente
- R
- Executando
- S
- Suspenso
- W
- Trocado
- Z
- Cancelado
- T
- Parado
UID (-f,- l)- O número do ID do usuário do processo (o nome de login é impresso sob a opção -f .
PID (all)- O ID do processo.
PPID (-f,-l)- O ID do processo do processo pai.
CLS (-c)- Classes de planejamento para o processo Impresso apenas quando o sinalizador -c é usado
NI (-l)- O valor nice do processo que é usado para calcular a prioridade para a política
sched_other PRI (-c, -l)- A prioridade do processo ou encadeamento do kernel. Números mais altos significam menos prioridade.
ADDR (-l)- Contém o número do segmento da pilha de processos, se normal; se um processo de kernel, o endereço da área de dados do pré-processo.
SZ (-l)- O tamanho em páginas da imagem principal do processo.
WCHAN(-l)- O evento para o qual o encadeamento do processo ou kernel está esperando ou dormindo. Para uma thread de kernel, este campo está em branco se a thread do kernel estiver em execução. Para um processo, o canal de espera é definido como o canal de espera da thread do kernel adormecido se apenas uma thread do kernel estiver dormindo; caso contrário, uma estrela será exibida.
STIME (-f,-u)- O horário de início do processo. As variáveis de ambiente
LANGcontrolam a aparência desse campo.. TTY (all)- O terminal de controle para o processo:
- -
- O processo não está associado a um terminal.
- ?
- Desconhecido
TIME (all)- O tempo de execução total para o processo. O horário será exibido no formato de mm: ss ou mmmm: ss se o tempo de execução atingir 100 minutos, que é diferente do formato exibido se você usar a sinalização -o time .
LTIME (-L)- O tempo de execução para um LWP individual.
CMD (all)- Contém o nome do comando. O nome completo do comando e seus parâmetros são exibidos com o sinalizador -f
LWP (-L)- A tid do fio do kernel.
NLWP(-Lf)- O número de threads de kernel no processo.
PSR (-P)- O número do processador lógico do processador para o qual o encadeamento do kernel está ligado (se houver). Para um processo, este campo é mostrado se todas as suas threads estiverem ligadas ao mesmo processador.
RSS (-ly)- A memória real (conjunto residente) tamanho do processo (em 1 KB unidades).
- Formato
A lista a seguir descreve os especificadores de campo reconhecidos pelo sistema. Esses especificadores de campo podem ser usados com o sinalizador -o para especificar o formato para a saída do comando ps
Os especificadores de campo que são reconhecidos pelo sistema são:addr- Indica o número do segmento da pilha do processo, se normal; se um processo kernel, o endereço da área de dados do pré-processo. O cabeçalho padrão para esse campo é
ADDR args- Indica o nome completo do comando sendo executado. Todos os argumentos de linha de comandos são incluídos, embora o truncamento possa ocorrer O cabeçalho padrão para esse campo é
COMMAND c- A utilização de CPU de um processo ou encadeamento é incrementada cada vez que o relógio do sistema marca e o processo ou encadeamento está em execução. O valor é decaído pelo planejador dividindo-o por 2 uma vez por segundo. Para a política do
sched_other, a utilização da CPU é usada na determinação da prioridade de planejamento do processo Valores grandes indicam um processo intensivo de CPU e resultam em menos prioridade de processo, enquanto valores pequenos indicam um processo intensivo de E/S e resultam em uma prioridade mais favorável. O cabeçalho padrão para esse campo éC class- Indica a política de planejamento para uma thread de kernel. As políticas são planej_other, program_fifo e program_rr. O cabeçalho padrão para esse campo é
CLS comm- Indica o nome abreviado do comando sendo executado. Argumentos de linha de comando não estão incluídos. O cabeçalho padrão para esse campo é
COMMAND etime- Indica o tempo decorrido desde o início do processo. O tempo decorrido é exibido no formato
onde dd especifica o número de dias, hh especifica o número de horas, mm especifica o número de minutos, e ss especifica o número de segundos.[[ dd -] hh: ]mm :ssO cabeçalho padrão para esse campo é
ELAPSED f- Indica sinalizadores (hexadecimal e aditivo) associados ao processo. O cabeçalho padrão para esse campo é
COMMAND fname- Indica os primeiros 8 bytes minutos do nome base do arquivo executável do processo. O cabeçalho padrão para esse campo é
COMMAND gid- Indica o número de ID do grupo efetivo do processo como um inteiro decimal. O cabeçalho padrão para esse campo é
GIDO nome de login é impresso sob a opção -f group- Indica o ID do grupo efetivo do processo. O ID do grupo textual é exibido. Se o ID do grupo textual não puder ser obtido, é utilizada uma representação decimal. O cabeçalho padrão para esse campo é
GROUP lwp- Indica o ID de thread da thread do kernel. O cabeçalho padrão para esse campo é
TID nice- Indica o valor decimal do valor agradável do processo. O cabeçalho padrão para esse campo é
NI nlwp- Indica o número de encadeamentos kernel que pertencem ao processo. O cabeçalho padrão para esse campo é
THCNT pcpu- Indica a proporção do tempo de CPU que é usado para o tempo de CPU disponível, expresso como uma porcentagem O cabeçalho padrão para esse campo é
%CPU pgid- Indica o valor decimal do ID do grupo de processos. O cabeçalho padrão para esse campo é
PGID pid- Indica o valor decimal do ID do processo. O cabeçalho padrão para esse campo é
PID pmem- Indica a porcentagem de memória real usada por este processo. O cabeçalho padrão para esse campo é
%MEM ppid- Indica o valor decimal do ID do processo pai. O cabeçalho padrão para esse campo é
PPID pri- Indica a prioridade do processo ou encadeamento kernel; números maiores significam menos prioridade. O cabeçalho padrão para esse campo é
PRI psr- Indica o número do processador lógico do processador para o qual a thread do kernel está ligada (se houver). O cabeçalho padrão para esse campo é
PSR rgid- Indica o número real do ID do grupo do processo como um inteiro decimal. O cabeçalho padrão para esse campo é
RGID rgroup- Indica o ID do grupo real do processo. O ID do grupo textual é exibido. Se o ID do grupo textual não puder ser obtido, é utilizada uma representação decimal. O cabeçalho padrão para esse campo é
RGROUP rss- Indica a memória real (conjunto residente) tamanho do processo (em 1 KB unidades). O cabeçalho padrão para esse campo é
RSS ruid- Indica o número real de ID do usuário do processo como um inteiro decimal. O cabeçalho padrão para esse campo é
RUID ruser- Indica o real ID do usuário do processo. O ID do usuário textual é exibido. Se o ID do usuário textual não puder ser obtido, é utilizada uma representação decimal. O cabeçalho padrão para esse campo é
RUSER s- Indica o estado do processo. O cabeçalho padrão para esse campo é s
sid- Indica o ID do processo do líder da sessão. O cabeçalho padrão para esse campo é
SID stime- Indica o horário de início do processo. As variáveis de ambiente LANG controlam a aparência deste campo. O cabeçalho padrão para esse campo é
STIME time- Indica o tempo de CPU acumulado desde o início do processo. O horário é exibido no mesmo formato que em
etimeO cabeçalho padrão para esse campo éTIME tty- Indica o nome do terminal de controle do processo. O cabeçalho padrão para esse campo é
TT uid- Indica o número de ID do usuário efetivo do processo como um inteiro decimal. O cabeçalho padrão para esse campo é
UID user- Indica o ID do usuário efetivo do processo. O ID do usuário textual é exibido. Se o ID do usuário textual não puder ser obtido, é utilizada uma representação decimal. O cabeçalho padrão para esse campo é
USER vsz- Indica, como um inteiro decimal, o tamanho em kilobytes da imagem principal do processo. O cabeçalho padrão para esse campo é
VSZ wchan- Indica o evento para o qual o encadeamento do processo ou kernel está esperando ou dormindo. Para uma thread de kernel, este campo está em branco se a thread do kernel estiver em execução. Para um processo, o canal de espera é definido como o canal de espera da thread do kernel adormecido se apenas uma thread do kernel estiver dormindo; caso contrário, uma estrela será exibida.
O cabeçalho padrão para esse campo é
WCHAN
Sinalizadores (Sistema V)
Algumas bandeiras aceitam listas como argumentos. Os itens em uma lista podem ser separados por vírgulas ou então colocados entre aspas duplas e separados por vírgulas ou espaços. Os valores para proclista e pgrplist devem ser numéricos.
| Item | Descrição |
|---|---|
| -a | Escreve para obter informações de saída padrão sobre todos os processos, exceto os líderes de sessão e processos não associados a um terminal. |
| -A | Escreve para informações de saída padrão sobre todos os processos. |
| -c | Imprime informações em um formato que reflete propriedades do planejador. A sinalização -c afeta a saída das sinalizações -f e -l , conforme descrito a seguir. |
| -d | Escreve para informações de saída padrão sobre todos os processos, exceto os líderes de sessão. |
| -e | Escreve para informações de saída padrão sobre todos os processos, exceto processos do kernel. |
| -f | Gera uma listagem completa. |
| -g pgrplist | Grava nas informações de saída padrão apenas sobre processos que estão nos grupos de processo especificados por pgrplist. Os valores para pgrplist devem ser numéricos. |
| -G lista de classificação | Grava nas informações de saída padrão apenas sobre processos que estão nos grupos de processos especificados por grplist. O sinalizador -G aceita nomes de grupos |
| -j | Exibe ID de sessão e ID do grupo de processos. |
| -l | Gera uma listagem longa. |
| -L | Imprime o status de encadeamentos ativos dentro de um processo |
| -o formato | Exibe informações no formato especificado por format. Vários especificadores de campo podem ser especificados para a variável de formato. Os especificadores de campo que podem ser usados com a sinalização -o são descritos acima na seção Formato . |
| -p proclista | Exibe informações apenas sobre processos com os números de processo especificados por proclist. Os valores para proclista devem ser numéricos. |
| -P | Exibe o número do processador lógico do processador para o qual o encadeamento do kernel principal do processo está ligado (se houver). |
| -s lista lateral | Exibe todos os processos cujos IDs do líder da sessão são especificados por sidlist. |
| -t lista de termos | Exibe informações apenas sobre processos associados aos terminais especificados por termlist. |
| -u uidlist | Exibe informações apenas sobre processos com os números de ID do usuário ou nomes de login especificados por uidlist. |
| -U uidlist | Exibe informações apenas sobre processos com os números de ID do usuário ou nomes de login especificados por uidlist. |
| -X | Imprime todos os caracteres disponíveis de cada usuário e nome de grupo em vez de truncar para os primeiros 8 caracteres. |
| -y | Quando combinado com a opção -l , altera a lista longa para que imprima os campos RSS e SZ em kilobytes e não imprima os campos F e ADDR. |
Status de Saída (Sistema V)
Esse comando retorna os valores de saída a seguir:
| Item | Descrição |
|---|---|
| 0 | Conclusão bem-sucedida. |
| >0 | Ocorreu um erro. |
Segurança (Sistema V)
- Atenção dos usuários RBAC
- Atenção usuários RBAC: Este comando pode executar operações privilegiadas. Somente usuários privilegiados podem executar essas operações. Para obter mais informações sobre autorizações e privilégios, consulte Banco de dados de comandos privilegiados em Segurança. Para obter uma lista de privilégios e autorizações associados a esse comando, consulte o comando ' lssecattr ou o subcomando ' getcmdattr.
Exemplos (Sistema V)
- Para exibir todos os processos, digite:
ps -e -f - Para listar processos de propriedade do usuário 'guest', digite:
ps -f -l -u guest - Para listar processos que estão associados aos terminais
/dev/pts/0e/dev/pts/1, insira:ps -t pts/0,pts/1 - Para listar processos não associados a um terminal, digite:
ps -t - - Para exibir um formato especificado com especificadores de campo, digite:
ps -o ruser,pid,ppid,args - Para exibir informações sobre todas as threads do kernel em um processo, digite:
ps -L - Para exibir o ID de sessão e IDs do grupo de processos de todos os processos, insira:
ps -jA - Para exibir a classe de agendamento e prioridade de processos, digite:
ps -c -l - Para exibir informações sobre threads de kernel e o número de threads de kernel em um processo, digite:
ps -L -f - Para exibir o processador ao qual o thread do processo ou kernel é ligado, digite:
ps -P - Para imprimir uma arte ASCII para um determinado processo (
inetdno exemplo a seguir), insira:
A saída é semelhante à seguinte:ps -T 14220PID TTY TIME CMD 14220 - 0:00 inetd 16948 - 0:00 |\--telnetd 32542 pts/4 0:00 | \--ksh 26504 - 0:00 |\--telnetd 41272 pts/5 0:00 | \--ksh 26908 pts/5 0:00 | \--vi 28602 - 0:00 |\--telnetd 24830 pts/0 0:00 | \--ksh 676416 pts/0 0:00 | \--ksh 29984 - 0:00 |\--telnetd 38546 pts/6 0:00 | \--ksh 32126 - 0:00 |\--telnetd 11162 pts/7 0:00 | \--ksh 34466 - 0:00 |\--rpc.ttdbserver 35750 - 0:00 |\--telnetd 23612 pts/3 0:00 | \--ksh 36294 - 0:00 |\--telnetd 38096 pts/8 0:00 | \--ksh 39740 - 0:00 |\--telnetd 42226 pts/9 0:01 | \--ksh 40632 - 0:00 |\--telnetd 40232 pts/2 0:00 | \--ksh 32910 pts/2 0:00 | \--dbx 987990 pts/2 0:00 | \--a.out 40722 - 0:00 |\--telnetd 16792 pts/10 0:00 | \--ksh 37886 pts/10 0:00 | \--ps 105716 - 0:00 \--telnetd 29508 pts/1 0:00 \--ksh 39478 pts/1 0:00 \--ksh 38392 pts/1 0:00 \--vi - Para imprimir informações sobre todos os processos que são enraizados em um determinado pid, insira:
A saída é semelhante à seguinte:ps -fL 14220UID PID PPID C STIME TTY TIME CMD root 14220 8676 0 Apr 07 - 0:00 /usr/sbin/inetd root 16948 14220 0 Apr 06 - 0:00 telnetd -a root 23612 35750 0 Apr 10 pts/3 0:00 -ksh root 24830 28602 1 18:30:56 pts/0 0:00 -ksh root 28602 14220 0 18:30:55 - 0:00 telnetd -a root 32542 16948 0 Apr 06 pts/4 0:00 -ksh root 34466 14220 0 Apr 10 - 0:00 rpc.ttdbserver 100083 1 root 35750 14220 0 Apr 10 - 0:00 telnetd -a root 40228 24830 8 18:36:01 pts/0 0:00 ps -fL 14220 - Para exibir todos os processos com nome de usuário expandido, digite:
ps -X -e -f - Para exibir as políticas de agendamento de uma thread, digite o seguinte comando:
#ps -m -o THREAD,sched USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMAND SCH suresana 1609830 4227284 - A 16 68 1 - 200001 pts/144 - ps -m -o THREAD sched 0 - - - 6381739 R 16 68 1 -400000 - - - 0 suresana 4227284 4239476 - A 1 60 1 -200801 pts/144 - bash 0 - - - 4177981 S 1 60 1 -410400 - - - 0 suresana 4239476 921694 - A 0 60 1 -240001 pts/144 - -ksh 0 - - - 5554385 S 0 60 1 -10400 - - - 0
Arquivos (Sistema V)
| Item | Descrição |
|---|---|
| /usr/sysv/bin/ps | Contém o comando R4 ps do System V. |
| /etc/passwd | Contém as informações do ID do usuário. |
| /dev/pty* | Indica nomes de terminal (PTY). |
| /dev/tty* | Indica nomes de terminal (TTY). |