Ubuntuを使っていると、
- 長時間かかる処理を実行したい
- ターミナルを閉じても処理を止めたくない
- 別の作業をしながら処理を続けたい
こんな場面ってありますよね。
今回は Ubuntu22でバックグラウンド実行する方法 を、わかりやすく解説します。
■ バックグラウンド実行とは?
通常、コマンドを実行するとターミナルはその処理が終わるまで操作できません。
例:
python3 test.py
この状態だと、処理が終わるまで次のコマンドは入力できません。
これを 裏側(バックグラウンド)で実行する ことで、
他の作業を同時にできるようになります。
方法① nohupを使う(ログアウトしても止まらない)
■ nohupとは?
nohup は「ログアウトしても処理を止めない」ためのコマンドです。
サーバー作業ではとてもよく使います。
■ 基本構文
nohup コマンド &
■ 実例
nohup python3 test.py &
実行するとこんな表示が出ます:
[1] 12345
この「12345」はプロセスID(PID)です。
■ 出力ファイルについて
特に指定しない場合、出力は
nohup.out
というファイルに保存されます。
ログを指定したい場合はこちら:
nohup python3 test.py > output.log 2>&1 &
解説
>標準出力2>&1エラー出力も同じファイルへ&バックグラウンド実行
■ 実行確認
ps aux | grep test.py
または
jobs
方法② 実行中にバックグラウンドへ回す方法
「しまった!普通に実行しちゃった…」
そんな時でも大丈夫です 👍
■ 手順
① 実行中に
Ctrl + Z
を押す
→ 一時停止(Stopped)状態になります。
② バックグラウンドで再開
bg
これでバックグラウンド実行に切り替わります。
■ 例
python3 test.py
実行中に
Ctrl + Z
↓
bg
これで裏側で動き続けます。
■ フォアグラウンドに戻す場合
fg
■ さらに便利なコマンド
実行中ジョブ確認
jobs
特定ジョブをフォアグラウンドへ
fg %1
(%1 はジョブ番号)
■ まとめ
| 方法 | 特徴 |
|---|---|
nohup | ログアウトしても止まらない |
Ctrl + Z → bg | 実行中でも切り替え可能 |
■ こんな人におすすめ
- Ubuntuサーバーを触り始めた人
- Pythonバッチを動かしたい人
- 長時間処理をしたい人
- VPS利用者
Ubuntuではバックグラウンド実行は必須スキルです。
最初は怖いかもしれませんが、
仕組みが分かるととても便利です 😊
ぜひ試してみてください!
ここまで読んでいただきありがとうございました 🙌

コメント