バックグラウンドでプログラムを実行する(&アンド)
バックグラウンドでプログラム(コマンド)を実行するには、(&アンド)を使います。長い処理や、複数の処理を並列に実行したい場合に便利です。
Last Update : 2014年02月27日
バックグラウンドでプログラムを実行する(&アンド)項目
1. バックグラウンドでプログラムを実行する(&アンド)
バックグラウンドでプログラム(コマンド)を実行するには、(&アンド)を使います。プログラム(コマンド)の後ろに、(&アンド)をつけて実行するだけでプログラム(コマンド)がバックグラウンドで処理されます。
長い処理や、複数の処理を並列に実行したい場合に便利です。
書式
Command &
Command は、任意のプログラム(コマンド等)。
例)バックグラウンドでプログラムを実行してみる
# sleep 60 &
[1] 2833
# ← 次のコマンドを受け付ける状態になっている
2個目、3個目のプログラムも実行してみる
# sleep 60 &
[2] 2842
# sleep 60 &
[3] 2843
# ← 次のコマンドを受け付ける状態になっている
memo
バックグラウンドで実行中のプログラムは、「jobs」コマンドで確認できます。
# jobs [1] 実行中 sleep 60 & [2]- 実行中 sleep 60 & [3]+ 実行中 sleep 60 &
2. バックグラウンドジョブの終了をすぐに知る
バックグラウンドのプログラムが終了した場合、エンターキーを押したタイミングでシェルが教えてくれます。
# エンターキーを押してみた # [1] 終了 sleep 60 ← プログラムの終了の通知 [2]- 終了 sleep 60 ← プログラムの終了の通知 [3]+ 終了 sleep 60 ← プログラムの終了の通知
setコマンドに「-b」オプションをつけてbash の属性を変更すると、バックグラウンドジョブが終了した際にすぐにステータスが通知されるようになります。
# set -b ← 「-b」オプションで、bashの属性を変更
# sleep 60 &
[1] 18546
60秒待機する。
# [1]+ 終了 sleep 60 ← すぐにステータスが通知される。