答案1
来自ps
macOS 的手册(我的重点):
-a
显示有关其他用户进程以及您自己的进程的信息。 这将跳过任何没有控制终端的进程,除非
-x
还指定了该选项。
在没有控制终端的 macOS 上运行的应用程序(例如窗口化 Finder 应用程序)不会被 列出ps -a
。要列出这些,请使用ps -ax
.
或者,您可以使用-A
或-e
选项:
-A
显示其他用户进程的信息,包括那些没有控制终端的进程。
-e
相同
-A
。
如果您正在寻找有关特定流程的信息姓名,考虑使用pgrep
:
pgrep Typora
(请注意,大小写很重要,除非您使用pgrep -i
)
要使用特定名称向进程发出信号,请使用pkill
而不是尝试grep
输出ps
.
pgrep
请参阅和 的手册pkill
。
另外,即使这不是您问题的一部分,pstree
也可以-s
选择仅显示包含具有特定名称的进程的进程树的分支。
答案2
简短的答案是:添加到ps
switch H
。来自男人: H Show threads as if they were processes
。
长答案下来了。
我知道这个问题已经5岁了,问题已得到解答,答案已被接受,但是,一方面我对此不太满意,另一方面让我带来变体,我希望这会有所帮助。
htop
显示进程及其线程,可以通过t
在交互模式下按或最初通过选项“ -t --tree Show the tree view
”来轻松检查。
由于typora
现在不是免费的,那么作为示例,我使用了 command mate-terminal
。第一次调用创建进程,而后续调用从第一次调用创建线程。所以,简单之后htop
我们有
按下后t
例如,当我们使用 command 时ps axu
,我们只看到第一个进程,看不到线程,但它们列在 下/proc/<pid>/task/
。
要查看线程,我们可以H
在 BSD stile 中使用 switch,因此ps axuH
将显示进程及其线程,现在我们可以看到相同的图片,我们在htop
所描述的行为是不必要的,并且是固有的mate-terminal
,并且正如我猜测的那样typora
。例如,每次调用konsole
crates 新进程并被视为 under htop
,因此由ps axu
。
答案在 debian 11.6 中测试。