彼の pid からプロセス名を取得する方法は? たとえば、cat file1.txt を実行しますが、システム内の pid からその cat コマンドとその引数を把握したいと考えています。それを決定するための構造体または類似のものはありますか?何か案が?
7 に答える
この UNIX を行う一般的な方法はありません。
OSごとに処理方法が異なり、非常に難しいものもあります。ただし、Linuxについて言及しています。Linux では、情報は /proc ファイルシステムにあります。
プロセス ID 9999 のコマンド ラインを取得するには、ファイルを参照して/proc/9999/cmdline
ください。
Linux では、/proc/
. 詳細については、入力man proc
してみてください。willの内容は/proc/$PID/cmdline
、プロセスが実行されたコマンドラインを示します$PID
。/proc/self
自分自身を調べるためもあります:)
別の方法 (Mac OS X など) は、 を使用することlibproc
です。libproc.hを参照してください。
プロセス ID 9000 のプロセス名を取得するには、次のコマンドを使用します。
ps -p 9000 -o comm=
この質問には回答がありましたが、2 セント追加したいと思います。
私の場合、 processが processを介してプロセス1111
を作成するとき(少なくともこれは私が聞いたことです)、正しいプロセス名を与えませんが、代わりに のようなものを与えます。正しいプロセス名を取得するために使用する必要があります。22222
pipe
/proc/2222/cmdline
1111_1
/proc/2222/comm
Linux で以下のコマンドを使用します。
ls -l /proc/[pid]/exe
プロセス/アプリケーション名の名前が付けられます