ps -a não consegue encontrar um processo que está sendo executado

3

Eu poderia encontrar um processo chamado typora de htop

mas não consigo rastreá-lo a partir do ps ou pstree

$ ps -a | grep -i typora
 9696 ttys003    0:00.01 grep -i typora

$ pstree | grep -i typora 
 |     |--- 09713 me grep -i typora
 |--= 00258 me /Applications/Typora.app/Contents/MacOS/Typora -psn_0_40970

Como eu poderia encontrá-lo no comando ps.

    
por avirate 06.11.2018 / 07:27

1 resposta

10

Do manual ps no macOS (minha ênfase):

-a

Display information about other users' processes as well as your own. This will skip any processes which do not have a controlling terminal, unless the -x option is also specified.

Os aplicativos em execução no macOS sem um terminal de controle, como aplicativos do Finder em janelas, não serão listados por ps -a . Para listar estes, use ps -ax .

Você também pode usar a opção -A ou -e :

-A

Display information about other users' processes, including those without controlling terminals.

-e

Identical to -A.

Se você estiver procurando informações sobre um processo com um nome específico, considere usar pgrep :

pgrep Typora

(note que o caso é importante, a menos que você use pgrep -i )

Para sinalizar um processo com um nome específico, use pkill em vez de tentar grep a saída de ps .

Consulte os manuais de pgrep e pkill .

Além disso, mesmo que isso não faça parte da sua pergunta, pstree tem uma opção -s para mostrar apenas as ramificações da árvore de processos que contêm processos com um nome específico.

    
por 06.11.2018 / 07:42