作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个服务,比如 foo,是用 C++ 编写的,它以 root 身份运行。有通常的脚本,/etc/init.d/foo start|stop|restart。
在某些时候,foo 需要重新加载自己。通常在升级完成后。但是做这样的事情:
system("/etc/init.d/foo restart")
不起作用,因为一旦重新启动杀死 foo,system() 调用显然也被杀死,并且重新启动脚本永远不会执行完成。
我可以使用另一个调用来代替 system() 作为调用进程的同级异步运行,而不是创建一个同步子进程吗?
谢谢!
最佳答案
您是否考虑过 exec[*]
系列?这是一个 -- execve
.
关于c++ - 我如何让一个进程在 linux 中重新加载自己?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627319/
我是一名优秀的程序员,十分优秀!