Linux下如何讓程序后台運行


后台,其實指的是當前登陸終端的后台。在終端執行后台命令,如果在命令尚未執行完畢時就關閉終端,那么這個后台命令還會繼續執行嗎?當然不會,因為關閉終端時系統發送一個SIGHUP信號。即使不退出終端,在終端中執行ctrl + C,會發送一個SIGINT信號,進程也會退出。
nohup的意思是忽略SIGHUP信號, 所以當運行nohup a的時候, 關閉shell, 那么進程a還是存在的(對SIGHUP信號免疫)。 注意, 如果你直接在shell中用Ctrl C, 那么, a進程也是會消失的(因為對SIGINT信號不免疫)。&對SIGINT信號免疫,所以a &運行進程a,直接在shell中Ctrl C,a進程也不會退出。
所以最好的方法是:nohup a &,此時無論在shell中Ctrl C或者是關閉shell,a進程都不會退出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM