Unix/linuxで特定のユーザーが作成したプロセスを表示する方法

Unix/linuxで特定のユーザーが作成したプロセスを表示する方法

Linuxで特定のユーザーまたはユーザーグループによって生成されたプロセスのリストを見たいです。psこれを実行するために使用できるコマンドはありますか?それともこれを達成できる他のコマンドはありますか?

答え1

特定のユーザーが所有するプロセスのみを表示するには、次のコマンドを使用します。

top -U [username]

[ユーザー名]を希望のユーザー名に変更してください。

psを使いたいなら

ps -u [username]

または

 ps -ef | grep <username>

または

ps -efl | grep <username>

拡張リストの場合

man psページでオプションを見る

別のオプションは、pstreeを使用してユーザーのプロセスツリーを印刷することです。

pstree <username or pid>

答え2

この試み

ps -fp $(pgrep -u <username>)

答え3

-e(すべてのプロセスを表示)はこれを無視し-uて無視されます。

私は通常このオプションを使用していますが、これはうまくいかなかったので、-eそのオプションが何であるかわかりませんでした。ps -ef-u

したがって、リスト全体が必要な場合は、以下を維持できます-f

ps -fu USERNAME

Ubuntu 22.10でテストされ、

関連情報