コマンドを入力して Return キーを押すと、システムはそのコマンドを実行し、コマンドがタスクを完了するのを待ち、その後別のコマンドを入力するようプロンプトを表示します。しかし、中には完了するまでにかなりの時間がかかるコマンドもあるため、その間に別のコマンドを実行する方が効率的です。前のコマンドを実行している間、別のコマンドを実行するには、バックグラウンドで実行できます。
バックグラウンドでコマンドを実行するには、次の例のようにアンパサンド (&) をコマンドの後に入力します。
$ bigjob & [1] 7493 $ |
その下に表示されている番号は、プロセス ID です。この例では、コマンド bigjob はバックグラウンドで実行され、他のコマンドの入力を続行できます。バックグラウンドのジョブが終了すると、次にコマンド (この例では date) を入力したときに下記のようなメッセージが表示されます。
$ date Tue Oct 31 15:44:59 MST 2000 [1] Done bigjob $ |
バックグラウンドのジョブが完了する前にログアウトする可能性がある場合は、下記の例に示すように、nohup コマンド (no hangup) を使ってジョブを起動すると、ログアウトしてもそのジョブを完結させることができます。nohup コマンドを使用しないと、ログアウトする時点でバックグラウンドのジョブは終了してしまいます。
$ nohup bigjob & [3] 7495 $ |