web-dev-qa-db-ja.com

ps-aは実行中のプロセスを見つけることができません

Typoraという名前のプロセスをhtopから見つけることができました

enter image description here

しかし、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からどのように見つけることができますか?.

3
Calculus

MacOSのpsマニュアルから(私の強調):

-a

自分のプロセスだけでなく、他のユーザーのプロセスに関する情報も表示します。 これにより、-xオプションも指定されていない限り、制御端末がないプロセスはスキップされます。

ウィンドウ化されたFinderアプリケーションなど、制御端末なしでmacOSで実行されているアプリケーションは、ps -aには表示されません。これらを一覧表示するには、ps -axを使用します。

または、-Aまたは-eオプションを使用できます。

-A

端末を制御しないプロセスを含む、他のユーザーのプロセスに関する情報を表示します。

-e

-Aと同じです。

特定のnameを持つプロセスに関する情報を探している場合は、代わりにpgrepを使用することを検討してください。

pgrep Typora

pgrep -iを使用しない限り、大文字と小文字が区別されることに注意してください)

特定の名前でプロセスにシグナルを送るには、pkillの出力をgrepしようとするのではなく、psを使用します。

pgrepおよびpkillのマニュアルを参照してください。

また、これは質問の一部ではありませんでしたが、pstreeには、特定の名前のプロセスを含むプロセスツリーのブランチのみを表示する-sオプションがあります。

10
Kusalananda