RSS
热门关键字:  QQ密码破解  最新的盗QQ的软件  江淮影视  网页密码破解  最后诊断
当前位置 :| 主页>应用程序>c++>

linux下如何将程序以Daemon方式运行

来源: 作者: 时间:2008-09-28 Tag: 点击:
如何将程序以Daemon方式运行?
以Daemon方式运行的程序,在运行过程中与控制台无关,即不受控制台信号影响,在控制台退出后也继续保持运行,而其他非Daemon程序会受控制台操作影响,并在控制台退出时被强行退出。因此网络服务程序绝大多数都是以Daemon方式运行。

可以在程序初始化时加入以下语句,则程序将以Daemon方式运行:
  1. /* 生成一个新的进程并将原来的主进程退出 */  
  2. if(fork()) exit(0);   
  3. /* 关闭 stdin, stdout, stderr 等控制台句柄 */  
  4. for (n = 0; n<3; n++) close(n);   
  5. /* 将 stdin, stdout和stderr均指向/dev/null */  
  6. open("/dev/null", O_RDONLY);   
  7. dup2(0,1);   
  8. dup2(0,2);   
  9. /* 设置tty的I/O属性 */  
  10. if((n=open("/dev/tty",O_RDWR)) > 0) {   
  11. ioctl(n, TIOCNOTTY, 0) ;   
  12. close(n);   
  13. }   
  14. /* 创建一个新的session,使当前进程成为一个process greoup的leader */  
  15. setsid();   
  16. /* 生成一个新的进程并将刚才生成的进程退出,这个新的进程已经以daemon方式运行了 */  
  17. if(fork()) exit(0);   


上一篇:Using TCP keepalive under Linux
下一篇:没有了
栏目列表