Saída do comando ps e entendimento das flags

0

Ubuntu 12.04 LTS usando o bash.

Eu tentei executar o comando ps a partir de um programa Java usando o Runtime e obtive uma saída inesperada.

Após uma inspeção mais próxima, percebi que era a saída de:

ps --deselect

O que me leva a acreditar que o ps é executado com alguns flags padrão ativados

Quando eu digito

ps

na linha de comando.

Quais são essas bandeiras? Ou estou enganado?

    
por Srini 31.03.2015 / 17:47

1 resposta

1

ps homenageia uma variável de ambiente chamada PS_PERSONALITY ao escolher como exibir seus resultados (documentados na página man). Os valores que tenho na minha página man são:

PERSONALITY
   390        like the OS/390 OpenEdition ps
   aix        like AIX ps
   bsd        like FreeBSD ps (totally non-standard)
   compaq     like Digital Unix ps
   debian     like the old Debian ps
   digital    like Tru64 (was Digital Unix, was OSF/1) ps
   gnu        like the old Debian ps
   hp         like HP-UX ps
   hpux       like HP-UX ps
   irix       like Irix ps
   linux      ***** recommended *****
   old        like the original Linux ps (totally non-standard)
   os390      like OS/390 Open Edition ps
   posix      standard
   s390       like OS/390 Open Edition ps
   sco        like SCO ps
   sgi        like Irix ps
   solaris2   like Solaris 2+ (SunOS 5) ps
   sunos4     like SunOS 4 (Solaris 1) ps (totally non-standard)
   svr4       standard
   sysv       standard
   tru64      like Tru64 (was Digital Unix, was OSF/1) ps
   unix       standard
   unix95     standard
   unix98     standard

Você pode querer experimentá-los todos :-), usando

PS_PERSONALITY=digital ps

Provavelmente, o valor da variável de ambiente PS_PERSONALITY é diferente (ou ausente) quando você executa ps dentro de um programa, comparado a quando você o executa em seu shell interativo (provavelmente com configuração customizada em .bashrc e afins).

    
por 01.04.2015 / 08:56

Tags