脚本中如何使kill后台进程后不提示Terminated或者信息

在网上找了很多关于kill后台进程后不提示Terminated信息的文章,有好多小伙伴们都说使用 set +m,自己在命令行试了下确实可以,但只是在命令行中有效,在脚本中却不起作用

set +m  #通过关闭“监控模式”,使shell终止后台作业后不打印报告。
不起作用的原因

‘set + m’只是禁用当前shell的作业控制(参见’help set’)。因此,如果您在子shell中输入命令(set + m),则不会影响当前shell的作业控制设置。

解决方法:

第一种方法:
set +m kill PID 2>&1 >/dev/null
ps:命令前加上set +m 就可以了
第二种方法:
可以把需要后台运行的命令写到 ( ) 括号里,因为小括号会默认打开一个子shell。这样当你再去kill或killall这个进程时就不会输出当前shell的作业控制输出信息

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值