nohupはは中断操作を意味し、&2を意味し、バックグラウンドで実行されている意味>&1は標準出力とエラー出力が同じファイルにリダイレクトされています。
単純にしても動作しますnohupをコンソールをオフに入れて、それはまだ動作が実行されます。
https://blog.csdn.net/liuyanfeier/article/details/62422742徹底し、より説明し、私は彼に与えた少し補足
参照することができますhttps://www.jianshu.com/p/747e0d5021a2
nohupは、コマンド解析
ケースを想定、あなたはどのように行うには、バックグラウンドのコマンドを実行したいですか?最良の方法は、使用することです&
、プラスコマンドの最後に&
バックグラウンドで実行することができます。
&
分析例
あなたがPythonの123.pyと呼ばれるプログラムがあると
何かが出力にあり、このようなコードを。
import time
a = 1
while True:
print("start to print sth")
a+=1
print("a=%s" %(a))
time.sleep(2)
あなたはそれを実行する必要がある場合は、その後python3 123.py
、正しい内容のlog.txtにリダイレクトすることができます。コマンドがある。この時間
python3 123.py > log.txt
- 実行した後、コンソールは、常にこのようにされている、あなたは他の操作を行うことができません。
su@DESKTOP-FA1P4IO:~$ python3 123.py >> log.txt
- プラスの後ろに
&
操作した後は、何か他のものすることができます。
suyuesheng@DESKTOP-FA1P4IO:~$ python3 123.py >> log.txt &
[2] 809
suyuesheng@DESKTOP-FA1P4IO:~$
場合でも、しかし、コンソールを閉じた後、python3 123.py >> log.txt &
後ろにあり&
、それはまだプロセスを終了します。
受信信号は、端末をオフにハングアップするので。nohupを信号をハングアップされません。
名前nohupを特許請求の範囲、無視すべてがハングに送られるように(SIGHUP)はサブコマンド信号を送ります。
コマンドへのすべてSIGHUP信号を無視しているように、コマンドは、SIGHUP信号を受信しません。
SIGHUPはそれを合図は何ですか?
端末の終わりかもしれ理解することは簡単で、オペレーティングシステムは、デーモンにSIGHUPシグナルを送信します。
- このようになりnohupを使用します
su@DESKTOP-FA1P4IO:~$ nohup python3 123.py >> log.txt &
[3] 905