Linuxコマンド逆引き大全
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

 現在実行しているプログラムを表示する
$ ps alx
$ jobs

 現在,動作しているプログラムを表示するには,プロセス状況を知らせてくれる「ps」コマンドや,ジョブ状況を知らせてくれる「jobs」コマンドを使う。動作したプログラムには,プロセスIDとターミナルごとのジョブIDが振られる。異なるプログラムが同時に同じIDを持つことはない。

 現在,Linux上で動いているプログラムを調べるには,プロセスの状態を表示する「ps」コマンドを用いる。このとき,PID欄を見ると,プロセスIDが分かる。


今のターミナル上で動いているプロセスを表示
$ ps
  PID 端末         時間 コマンド
16527 pts/1    00:00:00 bash
16550 pts/1    00:00:00 w3m
16598 pts/1    00:00:00 vi
16722 pts/1    00:00:00 ps

Linux上で動いているすべてのプロセスを表示する
$ ps alx
  F  UID  PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY   TIME COMMAND
100    0    1     0   0   0  1096  468 do_sel S    ?     0:04 init [3]
                  :
140    0  563     1   0   0  2384 1224 do_sel S    ?     0:00 httpd
                  :
                  :
100  500  683   681   9   0  1744  992  wait4 S    pts/0 0:00 -bash
000  500  780   683  13   0  2484  832  -     R    pts/0 0:00 ps axl

 利用中のターミナル上で動いているプログラムだけを知りたいときは,ジョブを表示する「jobs」コマンドを使用する。ジョブ番号はプロセスIDよりも短いので,例えばkillなどで終了させる場合に番号を覚えやすい。


$ jobs
[1]-  Stopped (tty output)  vi list.txt
[2]+  Stopped (tty output)  man ps
[3]   Running               find / -name "httpd" &

 ジョブIDと共にプロセスI D も同時に表示する場合は,


$ jobs -l
[1]-  3653 Stopped (tty output)  vi list.txt
[2]+  3654 Stopped (tty output)  man ps
[3]   3670 Running               find / -name "http" &

とする。[ ] 内の数字がジョブIDで,その隣に付いている「+」はカレント・ジョブを,「-」は前のジョブを表している。