カテゴリ: Linux基礎 更新日: 2026/05/07

nohupコマンドの使い方!ログアウト後もLinuxでコマンドを動かす方法

nohupコマンドの使い方!ログアウト後もコマンドを動かす方法
nohupコマンドの使い方!ログアウト後もコマンドを動かす方法

先生と生徒の会話形式で理解しよう

生徒

「先生、Linuxで長い作業を実行している途中でログアウトしても、その作業を続けたいときはどうすればいいですか?」

先生

「その場合はnohupコマンドを使うと便利です。nohupはログアウトしてもコマンドの実行を続けられるコマンドです。」

生徒

「ログアウトしても作業が止まらないなんてすごいですね。でも、どうやって使うんですか?」

先生

「簡単です。基本はnohup コマンド &の形で書くだけです。少しずつ実例を見ながら覚えていきましょう。」

1. nohupコマンドとは?

1. nohupコマンドとは?
1. nohupコマンドとは?

nohupコマンドは、Linuxでログアウトしても処理を停止させずに実行できるコマンドです。通常、ターミナルを閉じると、バックグラウンドで動いていた処理も停止してしまいます。しかし、nohupを使うことでログアウトしても処理を継続できます。

これは、長時間実行する処理やサーバーでの定期作業などで非常に便利です。Windowsで言うと、PCをシャットダウンせずに「アプリをバックグラウンドで実行し続ける」イメージに近いです。

2. nohupコマンドの基本的な使い方

2. nohupコマンドの基本的な使い方
2. nohupコマンドの基本的な使い方

基本的な書き方は以下の通りです。


nohup コマンド &

ポイントは二つあります。

  • &をつけることで、コマンドをバックグラウンドで実行する
  • nohupでログアウト後もプロセスを停止させない

例えば、テキストの大きなファイルをコピーする処理を実行するときは以下のように書けます。


nohup cp largefile.txt /backup/ &

この状態でターミナルを閉じてもコピー処理は続行されます。

3. nohupコマンドの出力先について

3. nohupコマンドの出力先について
3. nohupコマンドの出力先について

nohupで実行すると、標準出力やエラー出力は自動的にnohup.outというファイルに保存されます。つまり、実行結果やエラーをターミナル上で確認できなくても、後から内容を確認できます。


nohup ls -l /var/log/ &

この場合、結果はカレントディレクトリのnohup.outに書き込まれます。


cat nohup.out
total 4096
-rw-r--r-- 1 user user  1234 Mar 23 09:00 syslog
-rw-r--r-- 1 user user  5678 Mar 23 09:00 auth.log

4. nohupコマンドと&の組み合わせ

4. nohupコマンドと&の組み合わせ
4. nohupコマンドと&の組み合わせ

nohupだけでもログアウト後にプロセスは続きますが、&を組み合わせるとターミナルを使いながら他の作業もできるので便利です。


nohup python3 long_script.py &

上記の例では、Pythonスクリプトをバックグラウンドで実行しつつ、ターミナルで別のコマンドを実行できます。

5. nohupコマンドで出力ファイルを指定する

5. nohupコマンドで出力ファイルを指定する
5. nohupコマンドで出力ファイルを指定する

出力先を明示的に指定したい場合は、リダイレクト(>)を使います。


nohup python3 long_script.py > output.log 2>&1 &

ここで、output.logは出力ファイル、2>&1はエラー出力も同じファイルにまとめる意味です。こうすることで後から実行結果を確認しやすくなります。

6. 実行中のnohupプロセスを確認する

6. 実行中のnohupプロセスを確認する
6. 実行中のnohupプロセスを確認する

nohupで実行したプロセスは通常のプロセスと同じく確認できます。psjobsコマンドを使います。


ps aux | grep long_script.py
user  12345  0.0  0.1  23456  1234 pts/0  S  09:00  0:01 python3 long_script.py

これでプロセスID(PID)がわかり、必要に応じて停止も可能です。

7. nohupの注意点と便利な使い方

7. nohupの注意点と便利な使い方
7. nohupの注意点と便利な使い方

nohupを使う際の注意点は、標準出力やエラー出力をきちんと確認することです。大きな処理ではnohup.outが膨大になる場合があります。

また、サーバーで定期的に実行する場合は、cronと組み合わせるとさらに便利です。


nohup bash backup.sh > backup.log 2>&1 &

この例では、バックアップスクリプトをログファイル付きでバックグラウンド実行しています。

8. nohupと似たコマンドとの違い

8. nohupと似たコマンドとの違い
8. nohupと似たコマンドとの違い

nohupに似たコマンドとしてscreentmuxがあります。これらは端末を分離して複数作業を行うツールで、nohupより柔軟に操作できます。

ただし、シンプルに「ログアウトしてもコマンドを止めない」だけならnohupが最も簡単です。

9. 練習例:nohupで大きなファイルをコピーする

9. 練習例:nohupで大きなファイルをコピーする
9. 練習例:nohupで大きなファイルをコピーする

例えば大容量の動画ファイルをバックアップする場合、以下のように実行します。


nohup cp movie.mp4 /mnt/backup/ > copy.log 2>&1 &

ログアウトしてもコピーは続行され、コピー結果はcopy.logで確認できます。

まとめ

まとめ
まとめ

今回はLinuxで長時間の処理やサーバー上の作業をログアウト後でも継続して実行できるnohupコマンドの使い方について詳しく学びました。nohupは、通常ターミナルを閉じると停止してしまうプロセスを維持できる便利なツールで、バックグラウンドでの作業や大容量ファイルのコピー、長時間実行するPythonスクリプトなどに特に有効です。基本的な使い方はnohup コマンド &の形で書くだけで、これによりターミナルを使いながら他の作業を行うことも可能です。また、標準出力やエラー出力は自動的にnohup.outに保存されますが、リダイレクトを使用することで任意のログファイルに出力をまとめることもできます。

さらに、nohupで実行したプロセスの確認はpsjobsコマンドで行うことができ、必要に応じてkillコマンドで停止することも可能です。サーバーで定期的に処理を行う場合はcronと組み合わせることで自動化ができ、より効率的な運用が実現します。nohupはシンプルで習得しやすく、screenやtmuxのような複雑なツールを使わなくても、単純にログアウト後もプロセスを継続させたい場合には最適です。

練習として、大きなファイルのコピーや長時間実行するスクリプトをnohupでバックグラウンド実行する方法を確認しました。ログファイルを指定して出力を確認することで、途中経過やエラーの有無を後から確認できる点も理解しました。このようにnohupを正しく活用することで、Linuxでの作業効率やサーバー運用の安定性が格段に向上します。

まとめると、nohupコマンドはログアウト後でもプロセスを停止させずに実行可能なコマンドであり、出力管理やバックグラウンド実行、ログの確認といったポイントを押さえて使うことで、日常的なLinux作業やサーバー運用を安全かつ効率的に行うことができます。

サンプルコード:nohupでスクリプトをバックグラウンド実行


nohup python3 long_script.py > output.log 2>&1 &

cat output.log
処理開始: 09:00
データ読み込み完了
計算処理中...
処理終了: 10:45
先生と生徒の振り返り会話

生徒

「先生、nohupコマンドを使えば、ログアウトしても処理が止まらないのは理解できました。でも、出力を確認する場合はどうしたらいいですか?」

先生

「その場合は、nohupの標準出力とエラー出力をリダイレクトしてログファイルに保存するのが便利です。例えばnohup python3 long_script.py > output.log 2>&1 &のように書くと、エラーも含めてoutput.logで確認できます。」

生徒

「なるほど、これなら後から実行結果をチェックできますね。他の作業をしながらも処理を続けられるので便利です。」

先生

「そうです。さらにプロセスの確認にはps aux | grep スクリプト名jobsを使えば、PIDを調べて必要なら停止することもできます。長時間作業やサーバー管理に非常に役立つコマンドです。」

生徒

「わかりました!nohupを使いこなせば、Linuxでの作業効率がかなり上がりそうです。」

先生

「その通りです。まずは小さなスクリプトやファイルコピーで練習して、nohupの挙動に慣れることが大切です。」

カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
テキスト処理とフィルタ
tacコマンドの基本!ファイル内容を逆順に表示する方法
New4
テキスト・データ処理
awk -fオプションの使い方を完全ガイド!初心者でもわかるLinuxテキスト処理の基本
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門