Linux で nohup コマンドを使用する方法
nohup とは
#nohup は、Linux および Unix システムのコマンドであり、その機能は、ターミナルの終了時にプロセスがバックグラウンドで実行を継続できるようにすることです。正式名称は「no Hang up」、つまり「電話を切らない」という意味です。
nohup コマンドを使用すると、ターミナルを終了するか SSH 接続を閉じた後でもコマンドの実行を続行できます。
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 コマンドを使用して、現在のシェルのバックグラウンドで実行されているタスクのリスト (タスク番号、ステータス、コマンドなど) を表示します。 たとえば、バックグラウンドで
コマンドを実行し、jobs
コマンドを使用して次の情報を表示します。 <pre class='brush:php;toolbar:false;'>$ jobs
[1]+ Running nohup sleep 1000 &</pre>
その中で、角括弧内はタスクを表します。数字、プラス記号またはマイナス記号はタスクの優先順位を示します。
はタスクがバックグラウンドで実行されていることを示します。さらに、Stopped
(停止)、Done
(完了) など、他の状態も考えられます。
コマンドを使用して、バックグラウンド タスクをフォアグラウンドに移動して実行を継続することもできます。例: <pre class='brush:php;toolbar:false;'>$ fg %1</pre>
このコマンドは、タスク番号のタスクを移動します。 1 を最前面に移動し、実行を続行します。タスクを一時停止または再開したい場合は、
キーを使用して、現在のシェルで SIGTSTP
シグナルを送信します。 <pre class='brush:php;toolbar:false;'>$ fg %1
nohup sleep 1000
^Z
[1]+ Stopped nohup sleep 1000</pre>
この時点で操作を再開したい場合は、
コマンドを使用できます。 <pre class='brush:php;toolbar:false;'>$ bg %1
[1]+ nohup sleep 1000 &</pre>
タスクを強制終了したい場合は、## を使用できます。 #kill
$ kill %1 [1]+ Terminated nohup sleep 1000
すべてのバックグラウンド タスクを強制終了したいが、1 つずつ実行するのが面倒な場合は、
disown コマンドを使用して問題を解決できます。 : $ disown -a
このコマンドはすべてのバックグラウンド タスクを強制終了できますが、プロンプトは表示されません。
jobs コマンドで確認できます。 以上がLinux で nohup コマンドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

PHPコンテナが自動構造をサポートできるようにするために、コアは連続統合(CI)プロセスの構成にあります。 1. DockerFileを使用して、基本的な画像、拡張インストール、依存関係管理、許可設定など、PHP環境を定義します。 2. GitlabciなどのCI/CDツールを構成し、.gitlab-ci.ymlファイルを介してビルド、テスト、展開段階を定義して、自動構造、テスト、展開を実現します。 3. phpunitなどのテストフレームワークを統合して、コードの変更後にテストが自動的に実行されることを確認します。 4. Kubernetesなどの自動展開戦略を使用して、deployment.yamlファイルを介して展開構成を定義します。 5. DockerFileを最適化し、マルチステージ構造を採用します

独立したPHPタスクコンテナ環境の構築は、Dockerを通じて実装できます。特定の手順は次のとおりです。1。基礎としてDockerとDockerMomposeをインストールします。 2。DockerFileおよびCrontabファイルを保存するための独立したディレクトリを作成します。 3. dockerfileを書き込み、phpcli環境を定義し、cronと必要な拡張機能をインストールします。 4.タイミングタスクを定義するためにCrontabファイルを書きます。 5。Docker-Compose.ymlマウントスクリプトディレクトリを作成し、環境変数を構成します。 6.コンテナを起動し、ログを確認します。 Webコンテナでタイミングタスクを実行するのと比較して、独立したコンテナには、リソースの分離、純粋な環境、強力な安定性、容易な拡張の利点があります。ロギングとエラーキャプチャを確保するため

Windowsisbetterforbeginnersduetoeaseofuse、SeamlesshardwareCompatibility、およびSuportformainStreamSoftWareLikemicRosoftOfficeanDadobeapps.2.linuxoutperformsonoldowsonolrow-resourcehardwarewithfasterbottimes、lower-system-requirements.

Linuxにソフトウェアをインストールする主な方法は3つあります。1。apt、dnf、またはpacmanなどのパッケージマネージャーを使用し、Sudoaptinintallcurlなどのソースを更新した後にインストールコマンドを実行します。 2。.DEBまたは.RPMファイルの場合、DPKGまたはRPMコマンドを使用してインストールし、必要に応じて依存関係を修復します。 3. SnapまたはFlatpakを使用して、バージョンの更新を追求しているユーザーに適したSudosnapInstallソフトウェア名など、プラットフォームにアプリケーションをインストールします。より良い互換性とパフォーマンスのために、システム独自のパッケージマネージャーを使用することをお勧めします。

cronisusedusedusedusedusedusedulingonalways-ossystems、whileanacronuresuressuressursunsystystemstature n't continuouslylypowered、suthaslaptops;

choosepop!_os、ubuntu、nobaralinux、orarchlinuxforoptimalgamingminimaloverhead.2.installofficialnvidiaproprietarydriversfornvidiagpus、suseup to-datemesaandkernelverversionsionsionsionsionsipuspuspus

Linuxは古いハードウェアに適しており、セキュリティが高く、カスタマイズ可能ですが、ソフトウェアの互換性が弱いです。 Windowsソフトウェアはリッチで使いやすいですが、リソースの利用率が高くなっています。 1。パフォーマンスの観点から、Linuxは軽量で効率的で、古いデバイスに適しています。 Windowsには高いハードウェア要件があります。 2。ソフトウェアの観点から、Windowsにはより広い互換性、特にプロフェッショナルなツールやゲームがあります。 Linuxは、ツールを使用してソフトウェアを実行する必要があります。 3。セキュリティの観点から、Linux Permission Managementはより厳しく、更新は便利です。 Windowsは保護されていますが、まだ攻撃に対して脆弱です。 4。使用が難しいという点では、Linux学習曲線は急です。 Windows操作は直感的です。要件に従って選択します。パフォーマンスとセキュリティを備えたLinuxを選択し、互換性と使いやすさのWindowsを選択します。
