コマンドがこれを見ることができることは知っps
ていますが、pid が与えられた場合、どのユーザーがそのプログラムを開始したかをどのように知ることができますか? loginuid
/proc/[pid]/ に a が表示されますが、それは実際の uid の補足コードのようです。よくわかりません。
質問する
92 次
2 に答える
1
どうstatus
ですか?
cnicutar@lemon:/proc/self$ cat status
Name: bash
State: S (sleeping)
#....
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
4 つの UID があります: リアル、有効、保存済みセット、およびファイル システムです。にすべて記載されていproc(5)
ます。
于 2012-05-12T09:59:13.533 に答える
0
ユーザーのみが必要で、使用できる PID を認識していると仮定すると、次のようになりps
ますawk
。
ps auxf | awk NR!=1 | awk '{print $1" "$2}' | grep
ピッド| awk '{print $1}'
プロセスをよりよく理解できるように、コマンドを分解します。
おそらくご存知のとおり、 の最初の行はヘッダーを示してい ます。これが、取得した出力からヘッダーを除外するps
ために使用する理由です。awk NR!=1
PID
とのみが必要なのでUser
、 で最初の 2 つだけを選択することにより、他の列を取り除くことができますawk '{print $1" "$2}'
。
simplegrep
を使用すると、プロセス ID: でフィルタリングして、必要な行を見つけることができますgrep 123
。
最後に、ユーザーである最初の列のみを選択します。awk '{print $1}'
于 2012-05-12T10:13:12.497 に答える