首页 > 系统服务 > 详细

守护进程

时间:2015-07-17 20:35:09      阅读:214      评论:0      收藏:0      [点我收藏+]
守护进程是一种生命周期较长的进程,它常在系统自举时开始,然后在系统关闭是结束。
    
  1. #include"unpipc.h"
  2. int main(){
  3. int i,fd0,fd1,fd2;
  4. pid_t pid;
  5. struct rlimit rl;
  6. struct sigaction sa;
  7. umask(0);
  8. if(getrlimit(RLIMIT_NOFILE,&rl)<0){
  9. sys_err("getrlimit error");
  10. }
  11. if((pid=fork())<0){
  12. sys_err("fork error");
  13. }else if(pid!=0){
  14. exit(0);
  15. }
  16. setsid();
  17. sa.sa_handler=SIG_IGN;
  18. sigemptyset(&sa.sa_mask);
  19. if(sigaction(SIGHUP,&sa,NULL)<0){
  20. sys_err("sigaction error");
  21. }
  22. if((pid=fork())<0){
  23. sys_err("fork error");
  24. }else if(pid!=0){
  25. exit(0);
  26. }
  27. if(chdir("/")<0){
  28. sys_err("chdir error");
  29. }
  30. if(rl.rlim_max==RLIM_INFINITY){
  31. rl.rlim_max=1024;
  32. }
  33. for(i=0;i<rl.rlim_max;i++){
  34. close(i);
  35. }
  36. fd0=open("/dev/null",O_RDWR);
  37. fd1=dup(fd0);
  38. fd2=dup(fd1);
  39. if(fd0!=0||fd1!=1||fd2!=2){
  40. sys_err("dup error");
  41. }
  42. }





守护进程

原文:http://www.cnblogs.com/yml435/p/4655452.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!