Ann*_*mus 4 command-line process signals
如果我用 无限循环运行一个程序nohup,该程序是否会无限期运行(直到机器被重置或直到我手动终止它)?
nohup
kma*_*rsh 13
Nohup 设置 HANGUP 信号的默认行为,这可能会被应用程序覆盖。来自其他具有权限(root 或同一用户)或不良行为(段错误、总线错误)的其他进程的其他信号也可能导致程序终止。资源限制(ulimit)也可以结束程序。
除非这些,您的无限循环可能会运行很长时间。
Hem*_*ant 5
以下是 nohup源代码中的两行重要内容。
(void)signal(SIGHUP, SIG_IGN); // 忽略 SIGHUP
(void)signal(SIGHUP, SIG_IGN);
execvp(*argv, argv); // 运行命令。
execvp(*argv, argv);
所以直到您的应用程序调用类似
signal (SIGHUP, SIG_DFL); //或一些自定义信号处理程序
signal (SIGHUP, SIG_DFL);
在正常情况下,它会继续运行,直到您重新启动机器或自己杀死它。 在kmarsh 指出的情况下,它也可能被终止。
归档时间:
15 年,8 月 前
查看次数:
1020 次
最近记录:
12 年,12 月 前