ps -a 找不到正在运行的进程

Abs*_*cDo 3 osx process ps htop

我可以找到一个名为typora的进程 htop

在此处输入图片说明

但我无法从 ps 或 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
Run Code Online (Sandbox Code Playgroud)

我怎么能从命令 ps 中找到它。

Kus*_*nda 11

来自psmacOS的手册(我的重点):

-a

显示有关其他用户的进程以及您自己的进程的信息。 这将跳过任何没有控制终端的进程,除非-x还指定了该选项。

在没有控制终端的 macOS 上运行的应用程序,例如窗口式 Finder 应用程序,将不会被 列出ps -a。要列出这些,请使用ps -ax.

或者,您可以使用-A-e选项:

-A

显示其他用户进程的信息,包括那些没有控制终端的进程。

-e

与 相同-A

如果您正在寻找有关具有特定名称的进程的信息,请考虑使用pgrep

pgrep Typora
Run Code Online (Sandbox Code Playgroud)

(请注意,大小写很重要,除非您使用pgrep -i

要向具有特定名称的进程发出信号,请使用pkill而不是尝试grep输出ps.

请参阅手册pgreppkill

此外,即使这不是您问题的一部分,pstree也可以-s选择仅显示包含具有特定名称的进程的进程树的分支。