コマンドリファレンス - プロセス操作コマンド jobs ...
1. % ジョブ制御コマンド(stop、kill)では、以下の引数で制御ジョブを指定します。
2. & > コマンド & ジョブをバックグラウンドで実行するには、起動コマンドの最後に & をつけて入力します。 すると、ジョブがバックグラウンドで起動され、ジョブを識別するためのジョブ番号([] で囲まれた数字)と、直前に起動されていたプロセス番号が表示されます。シェルでのジョブ管理はジョブ番号を指定して行います。 例 > sleep 10 & [2] 34137 [1] Done sleep 10 3. jobs > jobs [-l] 現在のバックグラウンドジョブを一覧表示します。 各行には、次の情報が表示されます。
> コマンド &
> sleep 10 & [2] 34137 [1] Done sleep 10
> jobs [-l]
例 > 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. wait バックグラウンドで実行中のジョブの終了を待ちます。 > wait 例 > sleep 10 & [3] 34188 [2] Done sleep 10 > wait [3] Done sleep 10 6. fg 中断したジョブを再開する exit 使用としたときに「中断したjobが残っています.」と言われることがあります。 再開するときのコマンドが fg です。 > exit 中断したjobが残っています. > fg
> 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
> stop %ジョブ指定
> sleep 10 & [1] 34166 > stop %+ [1] + Suspended (signal) sleep 10 > jobs -l [1] + 34166 Suspended (signal) sleep 10
> wait
> sleep 10 & [3] 34188 [2] Done sleep 10 > wait [3] Done sleep 10
> exit 中断したjobが残っています. > fg