AbstProcDo Asked: 2018-11-06 22:27:53 +0800 CST2018-11-06 22:27:53 +0800 CST 2018-11-06 22:27:53 +0800 CST ps -a 找不到正在运行的进程 772 我可以找到一个名为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 我怎么能从命令 ps 中找到它。 osx process 1 个回答 Voted Best Answer Kusalananda 2018-11-06T22:42:18+08:002018-11-06T22:42:18+08:00 来自psmacOS 手册(我的重点): -a 显示有关其他用户进程以及您自己进程的信息。 这将跳过任何没有控制终端的进程,除非-x还指定了该选项。 在没有控制终端的 macOS 上运行的应用程序,例如窗口化的 Finder 应用程序,将不会由ps -a. 要列出这些,请使用ps -ax. 或者,您可以使用-Aor-e选项: -A 显示其他用户进程的信息,包括那些没有控制终端的进程。 -e 与 相同-A。 如果您正在寻找有关具有特定名称的进程的信息,请考虑pgrep改用: pgrep Typora (请注意,案例很重要,除非您使用pgrep -i) 要使用特定名称向进程发出信号,请使用pkill而不是尝试grep输出ps. 请参阅 和 的pgrep手册pkill。 此外,即使这不是您的问题的一部分,pstree也可以-s选择仅显示包含具有特定名称的进程的进程树的分支。
来自
ps
macOS 手册(我的重点):在没有控制终端的 macOS 上运行的应用程序,例如窗口化的 Finder 应用程序,将不会由
ps -a
. 要列出这些,请使用ps -ax
.或者,您可以使用
-A
or-e
选项:如果您正在寻找有关具有特定名称的进程的信息,请考虑
pgrep
改用:(请注意,案例很重要,除非您使用
pgrep -i
)要使用特定名称向进程发出信号,请使用
pkill
而不是尝试grep
输出ps
.请参阅 和 的
pgrep
手册pkill
。此外,即使这不是您的问题的一部分,
pstree
也可以-s
选择仅显示包含具有特定名称的进程的进程树的分支。