目次
nohup とは
nohup コマンドの使用は非常に簡単で、上記の基本構文に従うだけです。 nohup コマンドの使用例をいくつか示します。
バックグラウンドでコマンドを実行するには、コマンド ラインに次のコマンドを入力するだけです:
標準エラー出力をファイルにリダイレクトします
標準出力を両方ともリダイレクトします出力と標準エラー出力 ファイルへのリダイレクト
1. 同じファイルへのリダイレクト
ホームページ 運用・保守 Linuxの運用と保守 Linux で nohup コマンドを使用する方法

Linux で nohup コマンドを使用する方法

May 12, 2023 am 08:52 AM
linux nohup

nohup とは

#nohup は、Linux および Unix システムのコマンドであり、その機能は、ターミナルの終了時にプロセスがバックグラウンドで実行を継続できるようにすることです。正式名称は「no Hang up」、つまり「電話を切らない」という意味です。 nohup コマンドを使用すると、ターミナルを終了するか SSH 接続を閉じた後でもコマンドの実行を続行できます。

nohup 構文ルール

nohup コマンドの基本構文は次のとおりです。

nohup COMMAND [ARGS ...] [> output-file 2> error-file] &
ログイン後にコピー

パラメータの意味は次のとおりです。

  • COMMAND: バックグラウンドで実行する必要があるコマンドまたはスクリプト。

  • ARGS: コマンドまたはスクリプトのパラメータ。

  • > 出力ファイル: 出力は指定されたファイルにリダイレクトされます。

  • 2> error-file: エラー メッセージは指定されたファイルにリダイレクトされます。

  • #&

    : コマンドをバックグラウンドで実行します。

  • nohup コマンドの実行プロセスは、次のステップに分かれています。

    nohup コマンドは、標準入力、標準出力、標準出力を変更します。現在のシェルのエラー ターミナルを閉じる信号による中断を避けるために、すべての出力は
  • /dev/null

    デバイスにリダイレクトされます。

  • nohup コマンドは、プロセスをバックグラウンドで実行し、プロセスの PID を端末に出力します。
  • プロセスの実行が開始され、標準出力と標準エラー出力が指定されたファイルにリダイレクトされます。
  • ユーザーはターミナルを終了するか、ターミナル ウィンドウを閉じることができますが、プロセスは引き続きバックグラウンドで実行されます。
  • nohup の使用方法

nohup コマンドの使用は非常に簡単で、上記の基本構文に従うだけです。 nohup コマンドの使用例をいくつか示します。

バックグラウンドでコマンドを実行する

バックグラウンドでコマンドを実行するには、コマンド ラインに次のコマンドを入力するだけです:

nohup COMMAND &
ログイン後にコピー

たとえば、バックグラウンドで Bash スクリプトを実行します。

nohup bash test.sh &
ログイン後にコピー

標準出力をファイルにリダイレクトします

nohup bash test.sh > stdout.txt &
ログイン後にコピー

標準エラー出力をファイルにリダイレクトします

nohup bash test.sh 2> stderr.txt &
ログイン後にコピー

標準出力を両方ともリダイレクトします出力と標準エラー出力 ファイルへのリダイレクト

1. 同じファイルへのリダイレクト

nohup bash test.sh > output.txt 2>&1 &
ログイン後にコピー

2. 別のファイルへのリダイレクト

nohup bash test.sh > stdout.txt 2> stderr.txt &
ログイン後にコピー

3. より複雑な例は、リダイレクト基準 入力 (stdin):

nohup ./myprogram > foo.out 2> foo.err < /dev/null &
ログイン後にコピー

追加の

があります。これは、標準入力を /dev/null にリダイレクトすることを意味します。プログラムが標準入力からデータを読み取らないようにします。 これは実際的な問題を解決するためのものです。SSH セッションは、バックグラウンド ジョブと対話しているデータを失いたくないため、ログアウト (またはハング) を拒否することがよくあります。この問題が発生した場合は、上記のコマンドを 3 回リダイレクトすることで解決できます。

nohup バックグラウンド プロセス管理

jobs

コマンドを使用して、現在のシェルのバックグラウンドで実行されているタスクのリスト (タスク番号、ステータス、コマンドなど) を表示します。 たとえば、バックグラウンドで

sleep 1000

コマンドを実行し、jobs コマンドを使用して次の情報を表示します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$ jobs [1]+ Running nohup sleep 1000 &amp;</pre><div class="contentsignin">ログイン後にコピー</div></div> その中で、角括弧内はタスクを表します。数字、プラス記号またはマイナス記号はタスクの優先順位を示します。

Running

はタスクがバックグラウンドで実行されていることを示します。さらに、Stopped (停止)、Done (完了) など、他の状態も考えられます。

fg

コマンドを使用して、バックグラウンド タスクをフォアグラウンドに移動して実行を継続することもできます。例: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$ fg %1</pre><div class="contentsignin">ログイン後にコピー</div></div>このコマンドは、タスク番号のタスクを移動します。 1 を最前面に移動し、実行を続行します。タスクを一時停止または再開したい場合は、

Ctrl-Z

キーを使用して、現在のシェルで SIGTSTP シグナルを送信します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$ fg %1 nohup sleep 1000 ^Z [1]+ Stopped nohup sleep 1000</pre><div class="contentsignin">ログイン後にコピー</div></div>この時点で操作を再開したい場合は、

bg

コマンドを使用できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$ bg %1 [1]+ nohup sleep 1000 &amp;</pre><div class="contentsignin">ログイン後にコピー</div></div>タスクを強制終了したい場合は、## を使用できます。 #kill

コマンド:

$ kill %1
[1]+  Terminated              nohup sleep 1000
ログイン後にコピー
すべてのバックグラウンド タスクを強制終了したいが、1 つずつ実行するのが面倒な場合は、disown

コマンドを使用して問題を解決できます。 :

$ disown -a
ログイン後にコピー
このコマンドはすべてのバックグラウンド タスクを強制終了できますが、プロンプトは表示されません。jobs

コマンドで確認できます。

以上がLinux で nohup コマンドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosはメンテナンスを停止します2024 Centosはメンテナンスを停止します2024 Apr 14, 2025 pm 08:39 PM

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosのgitlabのバックアップ方法は何ですか Centosのgitlabのバックアップ方法は何ですか Apr 14, 2025 pm 05:33 PM

Centosシステムの下でのGitlabのバックアップと回復ポリシーデータセキュリティと回復可能性を確保するために、Gitlab on Centosはさまざまなバックアップ方法を提供します。この記事では、いくつかの一般的なバックアップ方法、構成パラメーター、リカバリプロセスを詳細に紹介し、完全なGitLabバックアップと回復戦略を確立するのに役立ちます。 1.手動バックアップGitlab-RakeGitlabを使用:バックアップ:コマンドを作成して、マニュアルバックアップを実行します。このコマンドは、gitlabリポジトリ、データベース、ユーザー、ユーザーグループ、キー、アクセスなどのキー情報をバックアップします。デフォルトのバックアップファイルは、/var/opt/gitlab/backupsディレクトリに保存されます。 /etc /gitlabを変更できます

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

セントスにハードディスクをマウントする方法 セントスにハードディスクをマウントする方法 Apr 14, 2025 pm 08:15 PM

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。

Centosがメンテナンスを停止した後の対処方法 Centosがメンテナンスを停止した後の対処方法 Apr 14, 2025 pm 08:48 PM

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

See all articles