(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]"
代わりに使用することができます
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スクリプト内で使用するための簡単なスクリプトを作りました… 注意して使用してください!
スクリーンショット。 http://pastebin.com/Cm9YH67U
André
-1 André Verwijs 2016-12-26