nohup関数
nohupは、no hang upの略で、電話を切らないことを意味します。
プロセスを実行していて、アカウントからログアウトしてもプロセスが終了しないと思われる場合は、nohupコマンドを使用できます。このコマンドを使用すると、アカウントからログアウトして端末を閉じた後も、対応するプロセスを引き続き実行できます。
操作例
たとえば、djangoプロジェクトを実行します
cd ding_month_1
nohup python ./manage.py runserver 0.0.0.0:8080&
予防:
元のプログラムの標準出力は、ログの役割を果たす現在のディレクトリのnohup.outファイルに自動的にリダイレクトされます。 nohupが正常に実行されたら、プログラムを閉じるボタンをクリックして端末を閉じます。コマンドに対応するセッションが切断され、nohupに対応するプロセスにシャットダウンが通知されます。
したがって、nohupコマンドを使用してコマンドをバックグラウンドで実行した後、コマンドが常にバックグラウンドで実行されるように、exitを使用して現在のアカウントを通常どおり終了する必要があります。
**補足知識:バックグラウンドで実行されているPython-nohupと2&1 **の詳細な説明
1.コード
nohup python my.py /usr/local/python/xxf/my.log 2 &1 &
nohup tomcat.sh /dev/null 2 &1 &
Two。nohupコマンド
Nohupは、継続的に実行することを指します。これは、no hang upの略で、中断せず、ハングアップしないことを意味します。プロセスを実行しているときに、アカウントからログアウトしたときにプロセスを閉じたくない場合は、nohupを使用できます。
Nohupが指定されていないため、出力はnohup.outに送られます。
**III。2&1 **
0 stdin標準入力、ユーザーキーボードによって入力されたコンテンツを表します
1 stdout標準出力、ディスプレイへのコンテンツ出力を表します
2 stderr標準エラー、エラー内容を示します
2 &1は全体であり、左右にスペースを入れることはできません。つまり、エラーコンテンツはリダイレクトされ、標準出力に入力されます。
4.全体的な意味と&
&バックグラウンドで実行
最初のコードは、中断することなくpython環境でmy.pyスクリプトを実行し、スクリプトの出力をmy.logにリダイレクトします(追加を使用すると、コンテンツがクリアされます)
my.py my.logはmy.py1 my.logと同じですが、1(標準入力)が省略され、次のmy.log 2&1入力2(エラーコンテンツ)が標準出力になり、次に前の標準になります。出力はmy.logに入力されます。つまり、エラーと標準コンテンツがmy.logに出力されます。実際、コードは2つの部分に分割できます。
nohup python my.py 1 /usr/local/python/xxf/my.log &
nohup python my.py 2 /usr/local/python/xxf/my.log &
上記のコードは、エラーと標準をmy.logに出力するためのものです。元のコードは単純化されています。
2&1の&は、ファイル1と1(標準出力)を区別するために使用されます。21の場合、ファイル1に出力されます。
nohup tomcat.sh / dev / null 2&1&は同じです。すべてのエラーと標準を/ dev / nullにスローし、それらをすべて破棄します。
pythonでのnohupコマンドの使用に関する上記の説明は、エディターによって共有されるすべてのコンテンツです。参照を提供したいと思います。
Recommended Posts