por ps de procps-ng
$ ps f | wc -l
225
$ ps -e | wc -l
410
$ ps | wc -l
4
ps -e
mostra todos os processos e ps
apenas aqueles com terminal atual como terminal de controle. Que processos ps f
mostram? Obrigado.
por ps de procps-ng
$ ps f | wc -l
225
$ ps -e | wc -l
410
$ ps | wc -l
4
ps -e
mostra todos os processos e ps
apenas aqueles com terminal atual como terminal de controle. Que processos ps f
mostram? Obrigado.
O comando
ps f
, em um sistema Ubuntu, mostraria exatamente os mesmos processosps
que mostraria, mas usando uma árvore de processos de arte ASCII.A opção é uma opção que modifica o formato de saída de
ps
. Ele está listado nops
manual no Ubuntu na seção "MODIFICADORES DE SAÍDA". Portanto, não modifica quais processos seriam exibidos.Usá-lo junto com outra opção (por exemplo
ps f -e
, ) modificaria apenas o formato de saída do comando, não a seleção de processos.Você escreveu originalmente,
ps f
mas agora a pergunta éps --forest
. Os dois não são o mesmo...Eles contêm o mesmo escopo
ps g
eps
por exemplo
De acordo com a página de manual , não está claro
ps f
vs.ps --forest
f
:--forest
:Mas ambos estão listados em " OUTPUT MODIFIERS " e não em "OUTPUT FORMAT CONTROL". Portanto, eles têm saídas diferentes.
Então, qual é a diferença exata de
f
vs--forest
? (Isenção de responsabilidade: não sou um profissional de UNIX, então não li o código-fonte paraps
)É que
--forest
mostra uma "árvore" que tem uma raiz (mesmo que seja chamada de "floresta"), o que significa um SID (ID de sessão, aproximadamente relacionado à sessão de login atual) do processo, portanto, não mostre nenhum processo de uma raiz diferente. Ef
, por outro lado, mostra processos que vêm de raízes diferentes, como uma floresta.Então os casos de uso deles são:
ps --forest
quando quiser obter uma "árvore" dos processos iniciados nesta sessão.ps f
quando quiser obter uma "floresta" de processos que o usuário atual inicia em qualquer sessão.