Chinaunix
标题:
帮我解析下代码吧!谢谢
[打印本页]
作者:
xiaozhu2007
时间:
2007-08-03 15:56
标题:
帮我解析下代码吧!谢谢
static void process_detach(const char *pname, int mode)
{
char lock_path[PATH_MAX];
int start;
int i;
pid_t pid;
int fd;
if(1 != mode){
if( (0 > (pid = fork()))){
err_sys("将进程转化为守护进程时出现错误");
} else {
printf("系统转化为守护进程在后台运行。\n");
exit(0);
}
dpl_signal(SIGHUP,SIG_IGN);
if((0 < (pid = fork()))){
exit(0);
}
setsid();
chdir((const char *)g_home_path);
umask(0);
if(0 == mode){
start = 0;
} else {
start = 3;
}
for(i = start; i < getdtablesize(); i++){
(void)close(i);
}
if(0 == mode){
if( (fd = open("/dev/null",O_RDWR)) < 0){
err_sys("不能打开NULL设备文件.系统终止(%d)!",errno);
}
(void)dup(fd);
(void)dup(fd);
}
sleep(3);
}
return;
}
能告诉我这段代码的主要功能是什么吗?
还有,unix环境编程这本书大家一直是怎么看的,我做的项目代码很多都是用公司已经遍好的库,自己写的很少,那本书上的东西我怎么实践比较好呢>?
现在那本书上还有好多东西看的比较迷糊,我觉得要不断的看下去,反复的看
作者:
scutan
时间:
2007-08-03 16:30
将进程变成Daemon进程, 具体在APUE2第13章有详细的讲解. 你看看吧.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2