だから私がしたいことは次のとおりです。ユーザーは自分のユーザー名を入力します。このユーザー名に基づいて、このユーザーが開始したプロセスのリストを取得する必要があります。私はユーザーの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