一分钟了解nohup和&的功效

本文通过实例解析nohup和&在后台运行程序时的区别。nohup运行程序可忽略输入,输出至nohup.out,免疫SIGHUP信号,但不免疫SIGINT;&运行程序免疫SIGINT,但在接收到SIGHUP信号时会关闭。同时使用nohup和&可免疫两种信号,建议程序日志记录到文件而非终端。
摘要由CSDN通过智能技术生成

上一篇《服务挂了,怎么自动恢复?》中留了一个作业,nohup和&究竟有啥区别?不少同学进行了回复,但并不是所有同学都理解得全对,今天把自己挖的坑自己填了。

 

测试代码如下:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

是一个输出hello与循环轮数的死循环程序,每输出一行就休眠1秒。

 

使用 ./a.out 前台运行程序,会是什么效果呢?

640?wx_fmt=png

程序每隔一秒会在终端输出一个字符串。

此时如果键入Ctrl+C ,程序会收到一个SIGINT信号,如果不做特殊处理,程序的默认行为是终止(如上图)。

 

使用 ./a.out& 后台运行程序,会是什么效果呢?

640?wx_fmt=png&wxfrom=5&wx_lazy=1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值