コマンドリファレンス - プロセス操作コマンド

 
1. % ジョブの指定
2. &   バックグラウンドジョブの起動
3. jobs 現在のジョブ一覧を表示
4. stop バックグラウンドで動作中のジョブを一時停止
5. kill ジョブ(プロセス)へのシグナル送信
6. wait バックグラウンドジョブの終了を待つ
7. fg  中断したジョブを再開する

1. %

 ジョブ制御コマンド(stop、kill)では、以下の引数で制御ジョブを指定します。
指定したいジョブ引数
カレントジョブ (省略)
%+
%%
前のカレントジョブ %-
ジョブ番号のジョブ %ジョブ番号
起動コマンドの先頭文字列 %文字列
起動コマンドに含まれる文字列%?文字列

2. &


> コマンド &
 ジョブをバックグラウンドで実行するには、起動コマンドの最後に & をつけて入力します。  すると、ジョブがバックグラウンドで起動され、ジョブを識別するためのジョブ番号([] で囲まれた数字)と、直前に起動されていたプロセス番号が表示されます。シェルでのジョブ管理はジョブ番号を指定して行います。   例

> sleep 10 &
[2] 34137
[1]    Done                          sleep 10

3. jobs


> jobs [-l]
 現在のバックグラウンドジョブを一覧表示します。  各行には、次の情報が表示されます。
フィールド内容表示
1ジョブ番号[1]、[2]、[3]などの数字
2ジョブ記号+ カレントジョブ
- 前のカレントジョブ
(3)プロセス番号-l オプション時に表示
4ジョブの状態 Running バックグラウンド実行
Done バックグラウンド停止
5起動コマンドジョブが起動されたコマンド
  例

> sleep 10 &
[1] 34157
> sleep 10 &
[2] 34158
> sleep 10 &
[3] 34159
> jobs -l
[1]  + 34157 Running                       sleep 10
[2]  - 34158 Running                       sleep 10
[3]    34159 Running                       sleep 10
> jobs -l
[1]  + 34157 Done                          sleep 10
[2]  + 34158 Done                          sleep 10
[3]  + 34159 Done                          sleep 10

4. stop

 バックグラウンド実行状態のジョブをバックグラウンド停止状態にします。

> stop %ジョブ指定
  例

> sleep 10 &
[1] 34166
> stop %+
[1]  + Suspended (signal)            sleep 10
> jobs -l
[1]  + 34166 Suspended (signal)      sleep 10

5. kill

 指定されたプロセス(プロセスIDを指定)またはジョブへシグナル(デフォルトはTERM)を送ります。  送るシグナルによってはプロセスが停止されます。

> kill [シグナル指定] ジョブ指定またはプロセス指定
  例

> sleep 10 &
[2] 34181
> kill %+
[1]    Terminated                    sleep 10
 また

> kill -l
を行うとシグナルが一覧表示されます。   例

> kill -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2

6. wait

 バックグラウンドで実行中のジョブの終了を待ちます。

> wait
  例

> sleep 10 &
[3] 34188
[2]    Done                          sleep 10
> wait
[3]    Done                          sleep 10

7. fg 中断したジョブを再開する

 exit 使用としたときに「中断したjobが残っています.」と言われることがあります。  再開するときのコマンドが fg です。

> exit
中断したjobが残っています.
> fg