nohup コマンド: プロセスを実行しており、アカウントからログアウトしてもプロセスが終了しないと思われる場合は、nohup コマンドを使用できます。このコマンドは、アカウントからログアウトしたり、ターミナルを閉じたりした後も、対応するプロセスを実行し続けます。 nohup は電話を切らないことを意味します。 このコマンドの一般的な形式は次のとおりです: nohup command & ls xxx 1>out.txt 2>&1 nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & & 1 は、より正確にはファイル記述子 1 であり、通常は STDOUT_FILENO を参照します。この操作は、実際には dup2(2) 呼び出しです。標準出力を all_result に出力し、次に標準出力をファイル記述子 2 (STDERR_FILENO) にコピーします。その結果、ファイル記述子 1 と 2 は同じファイル テーブル エントリを指すか、エラー出力がマージされます。0 はキーボード入力、1 は画面出力、2 はエラー出力を表します。標準エラーは標準出力にリダイレクトされ、/DEV/NULL にスローされます。簡単に言えば、すべての標準出力と標準エラーをゴミ箱に捨てることを意味します。 コマンド >out.file 2>&1 & command >out.file は、command の出力を out.file ファイルにリダイレクトします。つまり、出力内容は画面に印刷されず、out.file ファイルに出力されます。 2>&1 は標準エラーを標準出力にリダイレクトします。ここでの標準出力は out.file ファイルにリダイレクトされています。つまり、標準エラーも out.file ファイルに出力されます。最後の & により、コマンドはバックグラウンドで実行されます。 2>1 の意味を考えてみましょう。2 と > の組み合わせはエラーのリダイレクトを意味し、1 はエラーが標準出力ではなくファイル 1 にリダイレクトされることを意味します。 使用できます なぜ最後に 2>&1 を書く必要があるのでしょうか? コマンド > ファイル 2>&1 まず、コマンド > file は標準出力を file にリダイレクトし、2>&1 は標準出力をコピーする標準エラー、つまりこれも file にリダイレクトされます。最終結果は、標準出力とエラーの両方が file にリダイレクトされることです。 コマンド 2>&1 >ファイル 2>&1 標準エラーは標準出力の動作をコピーしますが、標準出力は端末内に残ります。 >file 出力はファイルにリダイレクトされますが、標準エラーは端末に残ります。 strace を使用すると次のことがわかります: 1. コマンド > ファイル 2>&1 オープン(ファイル) == 3 重複2(3,1) 重複2(1,2) 2. コマンド 2>&1 >ファイル 重複2(1,2) オープン(ファイル) == 3 重複2(3,1) なぜ /dev/null 2>&1 を使用するのでしょうか? このコマンドは、すべての標準出力とエラー出力を /dev/null にリダイレクトする、つまり、生成されたすべての情報を破棄することを意味します。command > file 2>file と command > file 2>&1 の違いを説明します。 まず、コマンド > ファイル 2 > ファイル は、コマンドによって生成された標準出力情報とエラー出力情報をファイルに送信することを意味します。このように、stdout と stderr は直接ファイルに送信され、ファイルは 2 回開かれるため、stdout と stderr は互いに上書きされます。これは、FD1 と FD2 を使用してファイルのパイプを同時に占有することと同じです。 コマンド >file 2>&1 は stdout を file に直接送信し、stderr は FD1 パイプを継承して file に送信されます。この時点では、file は 1 回だけ開かれ、stdout と stderr の内容を含む 1 つのパイプ FD1 のみが使用されます。 IO 効率の観点から見ると、最初のコマンドの効率は 2 番目のコマンドの効率よりも低いため、シェル スクリプトを作成するときは、コマンド > ファイル 2>&1 を使用することが多いです。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL 接続で認証失敗エラーが発生する場合の分析と解決方法
前提条件: ヘッダー情報操作をサポートするには、ngx_http_headers_module モジ...
1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...
以下に示すように、あなたならどのようにそれを達成しますか: 通常、フォントアイコンを使用して中央にプ...
<br />Web2.0とは何ですか? Web2.0にはソーシャルネットワーク製品とその...
カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...
目次本質的な違いデータベースセキュリティ権限スキーマの移行パターンオブジェクトの類似性スキーマオブジ...
1. GitLabの紹介Gitlab 公式アドレス: https://about.gitlab.co...
テーブル名とフィールド–1. 学生リスト学生 (s_id、s_name、s_birth、s_sex)...
目次序文: 1. インデックスメソッドを作成する2. インデックスを作成するために必要な権限序文: ...
序文:この記事では主にMySQLのロングトランザクションに関する内容を紹介します。例えば、トランザク...
エラーメッセージ:エラー 1862 (HY000): パスワードの有効期限が切れています。ログインす...
目次CURRENT_TIMESTAMPの使用CURRENT_TIMESTAMPを使用したタイムスタン...
1. インストールスクリプト(composer-setup.php)を現在のディレクトリにダウンロー...
問題の説明ボタンのスタイルはアイコン + テキストです。フレックス レイアウトを使用して垂直方向に中...
この記事では、docker pull がリセットされる問題を解決する方法を紹介し、皆さんと共有します...