linux – プロセスの PID 番号を知っている場合、その名前を知るにはどうすればいいですか?

linux pid process shell unix

(UNIXマシン上の)プロセスのPID番号を持っている場合、そのプロセスに関連するプロセスの名前を調べるにはどうすればいいですか?

何をすればいいの?

  300  AndreaNobili  2013-08-17


ベストアンサー

POSIXに準拠したすべてのシステムで、Linuxではpsを使用することができます

ps -p 1337 -o comm=

ここでは、-pでプロセスをそのPIDで選択します。-oオプションは出力形式を指定し、commはコマンド名を意味します

プログラムの名前だけでなく、コマンド全体を表示するには、以下のようにします

ps -p 1337 -o command

こちらも参照してください。ps – オープングループ基本仕様書第6号 – オープングループ基本仕様書第6号

333  slhck  2013-08-17


プロセス名やプロセスIDやPIDで使用されているコマンドを検索することができます

/proc/<pid>/cmdline

by doing

cat /proc/<pid>/cmdline

ここで pid は、例えば名前を見つけたい場合の pid です

 # ps aux

................
................
user  2480  0.0  1.2 119100 12728 pts/0  Sl   22:42   0:01 gnome-terminal
................
................

pid 2480 で使用されているプロセス名を見つけるには、can を使用します

# cat /proc/2480/cmdline

gnome-terminal

55  Stormvirux  2013-08-17


特定のpidを使用してプログラムのパスを取得するには、以下のような方法があります

ps ax|egrep "^ [PID]"

enter image description here

代わりに使用することができます

ps -a [PID]

Or also:

readlink /proc/[PID]/exe

16  Pedro Lobito  2015-04-18


# ls -la /proc/ID_GOES_HERE/exe

Example:

# ls -la /proc/1374/exe
lrwxrwxrwx 1 chmm chmm 0 Mai  5 20:46 /proc/1374/exe -> /usr/bin/telegram-desktop

8  Carlos H. M. Moreira  2016-05-06


pmapを使用することができます。PID 6649を検索しています。そして余計なプロセスの詳細を切り取っています

$ pmap 6649 | head -1
6649:   /usr/lib64/firefox/firefox

8  Mike Studer  2017-05-27


また、psと組み合わせてawkを使うこともできます

ps aux | awk '$2 == PID number for a process  { print $0 }'

example:

root@cprogrammer:~# ps aux | awk '$2 == 1 { print $0 }'
root         1  0.0  0.2  24476  2436 ?        Ss   15:38   0:01 /sbin/init

をクリックすると、使えるHEAD LINEを印刷することができます

 ps --headers aux |head -n 1 && ps aux | awk '$2 == 1 { print $0 }'

(or)

ps --headers aux |head -n 1; ps aux | awk '$2 == 1 { print $0 }'


root@cprogrammer:~# ps --headers aux |head -n 1 && ps aux | awk '$2 == 1 { print $0 }'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2  24476  2436 ?        Ss   15:38   0:01 /sbin/init

3  Gangadhar  2013-08-17


slhck’s Answer に似ていますが、コマンドの呼び出しではなくファイル操作に頼っています

MYPID=1
cat "/proc/$MYPID/comm"

3  ThorSummoner  2015-08-30


驚いたことに、誰も ps の -f (フルコマンド) オプションについて言及していません。私はこれを -e (everything) と一緒に使って、検索結果を grep にパイプして、検索結果を絞り込めるようにしたいと思っています

ps -ef | grep <PID>

これは、誰かが実行していて、システム上で多くのリソースを消費しているフルコマンドを見るのにも非常に便利です。これは、コマンドに渡されたオプションと引数を表示します

2  jdelaporte  2016-02-23


最も簡単な方法は、以下のコマンドを使用することだと思います

ps -awxs | grep pid

0  user666282  2016-11-21


PIDを見つけてbashスクリプト内で使用するための簡単なスクリプトを作りました… 注意して使用してください!

スクリーンショット。 Screenshot http://pastebin.com/Cm9YH67U

André

-1  André Verwijs  2016-12-26


タイトルとURLをコピーしました