こんにちは
自分用にメモ
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というファイルに保存される