1. 程式人生 > >【linux】- nohup 和 &

【linux】- nohup 和 &

&的意思是在後臺執行, 什麼意思呢? 意思是說,當你在執行 ./a.out & 的時候,即使你用ctrl C,那麼a.out照樣執行(因為對SIGINT訊號免疫)。但是要注意,如果你直接關掉shell後,a.out程序同樣消失。 可見, &的後臺並不硬(因為對SIGHUP訊號不免疫)。

nohup的意思是忽略SIGHUP訊號,所以當執行nohup ./a.out的時候。關閉shell,a.out程序還是存在的(對SIGHUP訊號免疫)。但是, 要注意,如果你直接在shell中用Ctrl C,那麼,a.out程序也是會消失的(因為對SIGINT訊號不免疫)

 所以,&

nohup沒有半毛錢的關係,要讓程序真正不受shell中Ctrl C和shell關閉的影響,那該怎麼辦呢? 那就用nohup ./a.out &吧, 兩全其美。

 如果你懂守護程序, 那麼nohup ./a.out &頗有點讓a.out成為守護程序的感覺。


原文:https://blog.csdn.net/stpeace/article/details/76389073