Linux/solaris下nohup命令注意問題

nohup命令的用法如下:
一般按如下用法使用:nohup yourscript &

爲了不產生nohup.out這個文件,因爲此文件是持續追加的,時間長了之後,
該文件nohup.out會特別大,達到1G以上,此時應用的性能就會受到影響。

因此有以下用法:
nohup yourscript > /dev/null &
此方式不會產生nohup.out文件,如果想看你的日誌的話,可以在自己的應用的日誌中查看,
但是此方式會導致,用tail -f yourlogfile時,可能出現日誌不被刷新的情況。

本人觀點:日誌不被刷新的情況是由於應用的日誌文件是迭代循環生成的,比如設置要生成5個文件,
當前日誌文件被滾動覆蓋時,tail -f 命令並不會檢測和提示,可以換另外一個參數-F,即使用:
tail -F yourlogfile,(tail: `yourlogfile' has been replaced;  following end of new file)。此命令能夠檢測到文件yourlogfile被覆蓋,並且能夠自動再次刷新輸出。由此,
建議如下:使用nohup後,查看應用的日誌文件(前提:滾動生成)時用tail -F,而不要用tail -f。

總結:一般開發期或者集成測試期,可以用nohup yourscript &方式,查看日誌通過
tail -f nohup.out做到,在生產環境,用nohup yourscript > /dev/null &方式。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章