您的位置:首页 > 编程语言

服务程序后台运行代码

2015-03-09 17:57 267 查看
使程序脱离终端,完全放在后台运行代码:

void daemon(void) {
int fr=0;

fr = fork();
if( fr < 0 ) {
fprintf(stderr, "fork() failed\n");
exit(1);
}
if ( fr > 0 ) {
exit(0);
}

if( setsid() < 0 ) {
fprintf(stderr, "setsid() failed\n");
exit(1);
}

fr = fork();
if( fr < 0 ) {
fprintf(stderr, "fork() failed\n");
exit(1);
}
if ( fr > 0 ) {
fprintf(stderr, "forked to background (%d)\n", fr);
exit(0);
}

umask(0);

chdir("/");
close(0);
close(1);
close(2);

open("/dev/null", O_RDWR);
dup(0);
dup(0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐