nohupコマンドとは?基本的な使い方をわかりやすく解説
Linuxシステムには数多くのコマンドが用意されており、その中には毎日何度も使うものもあれば、特定の用途でのみ活躍するものもあります。nohupはまさに後者のタイプのコマンドです。日常的に使うことは少ないかもしれませんが、いざというときに存在していてくれると非常に助かる便利なコマンドです。この記事では、nohupの概要と具体的な使い方をわかりやすく解説します。
nohupとは何か?
nohupは「No Hangups(ハングアップしない)」の略です。単体で実行するコマンドではなく、一度開始したコマンドをLinuxシステムが勝手に停止しないよう指示するための補助的なコマンドです。つまり、実行を開始したユーザーがログアウトしても、処理が完了するまでプロセスは動き続けます。
この役割はtmuxやscreenと多少似ています。これらのツールと同様に、nohupを使えばプロセスを開始した後、ログアウトしたりサーバーから切断したりしても、処理が完了するかどうかを気にせずに済みます。構文はシンプルで、次のような形になります。
nohup sh your-script.sh &
コマンド末尾の「&」に注目してください。これによりコマンドがバックグラウンドに移行し、現在作業中のターミナルが解放されます。
nohupは、ターミナルで実行するほぼすべてのコマンドで利用できます。カスタムスクリプトはもちろん、標準的なシステムコマンドやコマンドラインユーティリティとも組み合わせ可能です。たとえば、リモートサーバー上でセキュリティ監査スクリプトを起動し、そのまま切断して離席するといった使い方ができます。また、システムアップデートをバックグラウンドで実行し、何があっても中断されたくない場合にも役立ちます。
nohup.outファイルについて
nohupで実行されたプロセスは、起動したユーザーとは独立して動作し続けるため、メッセージやエラーを出力する場所が必要になります。関連付けられるターミナルが存在しないため、nohupはすべての出力をnohup.outというファイルに記録します。
デフォルトでは、このファイルはコマンドを実行したディレクトリに作成されます。nohup.outの特徴的な点は、標準出力とエラー出力の両方が同じファイルにまとめて記録されることです。nohupはデフォルトで両方の出力を同一ファイルへリダイレクトします。
ただし、必ずしもnohup.outを使う必要はありません。これはあくまでデフォルトの挙動にすぎません。nohupの実行時に出力先を指定すれば、任意の場所にカスタム出力ファイルを作成できます。
nohup sh your-script.sh > /path/to/custom.out &
カスタム出力ファイルには、標準のnohup.outとまったく同じデータが記録されます。前述のセキュリティ監査スクリプトの例で言えば、出力をaudit-script-output.txtのような名前でマウント済みのリモートフォルダに保存しておけば、catコマンドの出力を一日中眺める代わりに、自分のノートパソコンから快適にサーバーのセキュリティ状態を確認できます。
nohupとデーモンの違いは何か?
ここまで読むと、「nohupで実行するプロセスとデーモン化されたプロセスには何の違いがあるのか」と疑問に思うかもしれません。確かに両者は一見似た目的を果たしているように見えますが、実際には求められている用途が異なります。
デーモンはバックグラウンドで常時稼働し続けるプロセスです。Webサーバーなど、終了させたくない常駐プロセスに適しています。その一方で、実装にはより多くの手間がかかるため、単発の簡単なスクリプトには不向きです。
一方、nohupは一回限りの実行に向いています。実行に長時間かかるものの、最終的には完了するスクリプトをイメージしてください。たとえば、完了までに数時間かかる大規模で複雑なタスクをときどき実行するようなケースです。ターミナルを開きっぱなしにしたり、ユーザーをログインさせ続けたりしたくない場合は、nohupを使ってバックグラウンドで処理を継続させればよいのです。出力はデフォルトのnohup.outでも、自分で指定した任意のファイルでも好きな場所に記録できます。
nohupの利点や活用法に関するこの記事が参考になったなら、ファイルパーミッションの解説や、動作の遅いLinuxマシンを高速化する方法など、他のLinux関連記事もぜひチェックしてみてください。
-
TeamSpeakとは?基本の使い方からサーバーの立て方まで徹底解説
TeamSpeakは、インターネット経由で音声通信を行うためのシンプルなアプリケーションです。ゲーマーの間で人気がありますが、ゲーム内でのコミュニケーション専用というわけではありません。普段使っている音声会議アプリの代替をお探しの方に向けて、この記事ではTeamSpeakの概要と基本的な使い方をわかりやすく解説します。 TeamSpeakとは? TeamSpeakは、デスクトップとモバイル両方に対応したVoIP(Voice over Internet Protocol)アプリケーションです。主な機能は、ZoomやGoogle Meetといった会議アプリと同じように、チャンネル上でユーザ
-
Windows 11の「推奨アクション」とは?電話発信や予定作成を自動化する便利機能の使い方
Googleなどの検索エンジンでは、検索ワードを入力すると自動的に候補が表示されますよね。実はMicrosoftも、Windows 11ユーザー向けにこれによく似た機能を導入しました。その機能の名前は「推奨アクション(Suggested Actions)」。Windows上での操作をよりシンプルにすることを目指した、Microsoftの最新の取り組みです。この記事では、推奨アクションの使い方と効果的な活用方法について詳しく解説します。Windows 11で推奨アクションを有効にする方法推奨アクション機能を有効にすると、電話の発信やイベント(予定)の登録を自動的に行えるようになります。電話番号や