32

彼の pid からプロセス名を取得する方法は? たとえば、cat file1.txt を実行しますが、システム内の pid からその cat コマンドとその引数を把握したいと考えています。それを決定するための構造体または類似のものはありますか?何か案が?

4

7 に答える 7

29

この UNIX を行う一般的な方法はありません。
OSごとに処理方法が異なり、非常に難しいものもあります。ただし、Linuxについて言及しています。Linux では、情報は /proc ファイルシステムにあります。
プロセス ID 9999 のコマンド ラインを取得するには、ファイルを参照して/proc/9999/cmdlineください。

于 2013-03-21T10:56:05.850 に答える
16

Linux では、/proc/. 詳細については、入力man procしてみてください。willの内容は/proc/$PID/cmdline、プロセスが実行されたコマンドラインを示します$PID/proc/self自分自身を調べるためもあります:)

別の方法 (Mac OS X など) は、 を使用することlibprocです。libproc.hを参照してください。

于 2013-03-21T11:00:49.850 に答える
13

プロセス ID 9000 のプロセス名を取得するには、次のコマンドを使用します。

ps -p 9000 -o comm=
于 2014-09-08T06:00:27.510 に答える
2

この質問には回答がありましたが、2 セント追加したいと思います。

私の場合、 processが processを介してプロセス1111を作成するとき(少なくともこれは私が聞いたことです)、正しいプロセス名を与えませんが、代わりに のようなものを与えます。正しいプロセス名を取得するために使用する必要があります。22222pipe/proc/2222/cmdline1111_1/proc/2222/comm

于 2016-02-17T15:13:55.513 に答える
2

Linux で以下のコマンドを使用します。

ls -l /proc/[pid]/exe

プロセス/アプリケーション名の名前が付けられます

于 2019-04-29T12:29:46.967 に答える