-u 的作用
nohup python myscript.py > nohup.out 2>&1 &
python的輸出是有緩沖的,即使在py腳本中每次遍歷都有打印輸出,但是因為緩沖的作用,我們不能在nohup.out日志中立即看到打印的輸出。
加上-u參數,使得python不使用緩沖。
nohup python myscript.py -u > nohup.out 2>&1 &
解析:
1 nohup 不掛斷地運行命令,忽略所有掛斷信號(SIGNUP信號),比如當賬號注銷時。
最后的&:表示后台運行。
nohup command &,表示后台運行nohup命令。
2 linux中的0表示標准輸入,1表示標准輸出,2表示標准錯誤輸出。
3 > 表示覆蓋式重定向。正常輸出是把內容輸出到顯示器上,重定向是把內容輸出到文件中。 command > xxx.txt,將輸出重定向到xxx文件中。
4 >> 表示追加式重定向。command >> xxx.log,將輸出重定向追加到xxx.log文件中。
5 2 > &1 ,2是標准錯誤輸出,1是標准輸出,這里的&表示引用的意思,對標准輸出的引用。所以這個命令就表示將標准錯誤輸出也重定向到標准輸出指向的文件中。