Linux操作相关问题总结

1、nohup和&的区别

背景:假设有一个a.out文件需要执行

&的意思是在后台运行,意思是说,当你执行./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 & ,两全其美。

 

后续持续更新中。。。。。。

猜你喜欢

转载自blog.csdn.net/Johnson8702/article/details/81980879