ps -a実行中のプロセスが見つかりません。

ps -a実行中のプロセスが見つかりません。

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コマンドでどうやって見つけますか?

答え1

psmacOSマニュアルで(私の強調):

-a

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

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

-Aまたは、次のようにorオプションを使用できます-e

-A

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

-e

同じ-A

特定のプロセスに関する情報を探している場合名前、次の使用を検討してくださいpgrep

pgrep Typora

(を使用しない限り大文字と小文字が重要であることに注意してくださいpgrep -i

特定の名前でプロセスにシグナルを送信するには、tryoutのpkill代わりに使用してください。grepps

pgrepとのマニュアルを参照してくださいpkill

あるいは、これが質問の一部ではない場合でも、特定の名前のプロセスを含むプロセスツリーの分岐のみを表示することを選択pstreeできます。-s

答え2

短い答えは次のとおりです。psスイッチに追加してくださいH。人から: H Show threads as if they were processes

長い答えが出ました。

私はこの質問が5年前であることを知っており、質問に対する回答が完了し、回答が受け入れられました。しかし、一方ではそれほど満足のいくものではなく、一方では変形をもたらします。これが役に立つことを願っています。 。

htoptインタラクティブモードで押すか、最初に「」オプションで簡単にチェックできるプロセスとそのスレッドを表示します-t --tree Show the tree view

typora今は無料ではないので、例えば command を使用しましたmate-terminal。最初の呼び出しはプロセスを生成し、その後の呼び出しは最初の呼び出しでスレッドを生成します。だから、シンプルさの後ろhtop

ここに画像の説明を入力してください。

押した後t

ここに画像の説明を入力してください。

たとえば、commandを使用すると、ps axuスレッドではなく最初のプロセスのみが表示されますが、スレッドは以下にリストされます/proc/<pid>/task/

ここに画像の説明を入力してください。

スレッドを表示するには、HBSDスタイルのスイッチを使用してps axuHプロセスとそのスレッドを表示し、今見たのと同じ画像を見ることができます。htop

ここに画像の説明を入力してください。

説明された動作は不要で暗黙的であり、mate-terminal私が予想した通りですtypora。たとえば、konsoleボックスが呼び出されるたびに、新しいプロセスはで考慮され、htopしたがってから考慮されますps axu

答えはDebian 11.6でテストされました。

関連情報