こんにちは
自分用にメモ
1, バックグランド実行のやり方
実行したいコマンドの末尾にアンパサンド&
をつける
例えば、abc.pyをバックグランドで実行したいときは
$ python3 abc.py &
これで、abc.pyを裏で実行しながら、次のコマンドを打てる
2, 実行状況の確認方法
アクティブなジョブの一覧を表示するjobs
コマンドで確認できる
$ jobs
[1]+ Running python3 abc.py &
プロセスの状態を表示するps
コマンドでも確認できる
a
とx
オプションを付けると、全ての端末の実行中のプロセスが表示される
$ ps ax
実行中のプロセスが多い時は、grep
コマンドで検索
$ ps ax | grep 確認したいコマンド
3, 切り替えたいとき
バックグランドからフォアグランドへ切り替えたい時は、fg
(foreground)コマンドを使う
このとき、jobs
コマンド実行時に左に表示されるJOBSPEC
の数字を指定する(ここでは1)
$ fg 1
フォアグラウンドから、再度バックグランドへ戻したい時は、ctrl + z
で、一度ジョブを停止させた後に、bg
(background)コマンドを使用する
JOBSPEC
の数字を指定する点はfg
と同じ
$ bg 1
4, ssh切断後も処理を続ける方法
sshの接続を切った後も、処理が実行され続けるようにする場合は、nohup
コマンドを使用する
$ nohup 実行したいコマンド &
nohup
コマンドでは、実行時の標準出力および標準エラー出力がnohup.out
というファイルに保存される