UIDとPIDを取得する方法

UIDとPIDを取得する方法

だから私がしたいことは次のとおりです。ユーザーは自分のユーザー名を入力します。このユーザー名に基づいて、このユーザーが開始したプロセスのリストを取得する必要があります。私はユーザーのUIDを取得し、そのUIDを持つすべてのプロセスを一覧表示してこれを行う予定です。/proc/$PID/statusファイルでUIDのみが見つかりました。これを行う方法は明確ではありません。

答え1

ユーザー名からUIDを取得するには、次のようにしますid -u

$ id -u root
0
$ id -u lightdm
112
$ id -u nobody 
65534

しかし、あなたは車輪を再発明しています。pgrepすでに非常によく処理されています。

$ pgrep -u www-data
1909
1910
1911
1912
$ id -u www-data   
33
$ pgrep -u 33      
1909
1910
1911
1912

一般を使用することもできますps

$ ps -U www-data -o uid,pid
  UID   PID
   33  1909
   33  1910
   33  1911
   33  1912

関連情報