linux ジョブとプロセス覚え書き

用語集

  • プロセス メモリ上で実行状態にあるプログラムで、カーネルから見た処理の単位
  • デーモン バックグラウンドで実行される、ターミナルに接続されていないプロセス
  • ジョブ シェルから見た処理の単位

プロセスの確認

$ psコマンドでプロセスの一覧を確認
オプション
x 現在ユーザが実行しているすべてのプロセスを表示
a すべてのユーザのプロセスを表示
f プロセスの親子関係を表示
u 詳細情報を表示
ハイフンをつけると意味が変わるらしい

$ ps xf 
 PID TTY      STAT   TIME COMMAND
 1393 tty1     S+     0:00 -bash
 1684 ?        Ss     0:00 /sbin/upstart --user
 1752 ?        S      0:00  \_ upstart-udev-bridge --daemon --user
 1762 ?        Ss     0:01  \_ dbus-daemon --fork --session --address=unix:abstr
 1774 ?        Ss     0:00  \_ /usr/lib/x86_64-linux-gnu/hud/window-stack-bridge
 1796 ?        S      0:05  \_ /usr/bin/fcitx
 ・
 ・
 ・

ジョブの操作

$ jobsコマンドで現在のジョブ一覧やジョブ番号を確認
ctrl + z で現在操作中のジョブを中断
$ fg %<ジョブ番号>ジョブをフォアグラウンド(操作可能な状態)に戻す
$ bg %<ジョブ番号>ジョブをバックグラウンド(操作はできないが処理は続行中)にする
$ <コマンド> & コマンドの末尾に&をつけると最初からバックグラウンドで実行する


ジョブ・プロセスの終了

$ kill %<ジョブ番号> ジョブを終了させる
$ kill <プロセスID> プロセスを終了させる