gpt4 book ai didi

linux - 后台作业在没有 nohup/disown 的情况下更改为守护进程?

转载 作者:太空狗 更新时间:2023-10-29 12:35:26 24 4
gpt4 key购买 nike

对我来说很奇怪一个脚本while.sh,它的内容是:

while [ 1 ];do
sleep 1
echo `date`
done

作为 $while.sh >& while.log & 运行(没有 nohup 或 disown 或 setsid 或 double fork())退出再登录可以看到这个进程还在,ppid是1 tty是?

我的系统是rhel6(rhel5一样,bash

在 centos5.x 中它必须使用 nohup 或 disown 或在代码中做 double fork()

rhel6 中发生了什么

最佳答案

是否设置了 huponexit shell 选项?

$ shopt
...
huponexit off

如果 Bash 本身收到 SIGHUP,它会向其作业发送 SIGHUP 信号,但除非您启用此选项,否则它不会在正常退出时向作业发送信号。

值得一提的是,它在 RHEL6 和 RHEL5 上都被禁用了,至少在我刚刚测试的系统上是这样。我试过这个命令:

$ sleep 1000 &

除非我故意启用 shopt -s huponexit,否则当我注销并重新登录时它不会被杀死。

关于linux - 后台作业在没有 nohup/disown 的情况下更改为守护进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12926799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com