Linux服务器程序daemon化总结
2018年1月14日 大门牙 @ 深圳
1. 使程序进程成为守护进程
a. fork出子进程并使其成为孤儿进程
b. 关闭所有文件句柄
c. 将stdin, stdout, stderr文件重定向到/dev/null
d. 设置程序的运行目录到根目录(可选)
我自己使用的实现代码如下:
void set_daemonise()
{
char err[256];
pid_t pid;
pid = fork();
if (pid < 0)
{
exit(1);
}
if (pid > 0)
{
exit(0);
}
if (setsid() < 0)
{
exit(1