バックグラウンドでジョブを実行する

はじめに

SSH接続で時間のかかるジョブを実行して放置していると、SSH接続が切れてジョブも途中で終了してしまいます。

これを終了しないようにする方法を説明します。

&

殆どの場合 コマンドの最後に & を付けるとよいようです。

tar zcf backup.tar.gz /home/user &

nohup コマンド

nohupでコマンドを実行すると,ログアウトしてもプログラムを実行し続けます。

scpコマンドをバックグラウンドで実行したいときに、コマンドの最後に & をつけると、 パスワードの要求などがうまく動きません。

そういった時に以下のように nohup コマンドを使うとうまくバックグラウンドで処理できました。

nohup scp file user@192.168.xxx.xxx:/home/user

ジョブを終了させる

バックグラウンドで実行したけどやっぱり終了させたい時に、killコマンドで強制終了させます。

ps -ax

kill -KILL プロセス番号