当从当前进程的信号处理程序中调用 exec() 时,是否为场景定义了行为? -- 例如,有一个 SIGHUP
处理程序调用 exec() 以获取与当前正在运行的进程相同的二进制文件以重新加载自身。
最佳答案
是的,行为已定义且安全。
exec*
函数系列 — 但值得注意的是排除“路径”变体 execlp
和 execvp
—根据 Signal Actions in § 2.4.3 的处理,异步信号是安全的在 POSIX.1-2017 中。
关于linux - 在信号处理程序中调用 exec() 以重新加载当前正在运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58348234/