目录
1.创建守护进程的代码,并写上每一步的注释
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, const char *argv[])
{
//创建孤儿进程
pid_t pid = fork();
if(pid > 0)
{
}
else if(0 == pid)
{
//创建新的会话组
pid_t sid = setsid();
if(sid < 0)
{
perror("setsid");
return -1;
}
printf("sid = %d\n", sid);
//修改运行目录为不可卸载的文件系统
chdir("/");
//umask清零
umask(0);
//关闭所有文件描述符
int i = 0;
for(i=0; i<1024; i++)//文件描述符编号[0.1023]
{
close(i);
}
while(1)
{
//代码功能
sleep(1);
}
}
else
{
//提示错误
perror("fork");
return -1;
}
return 0;
}