文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux进程开发之(九):多进程开发二

linux进程开发之(九):多进程开发二

时间:2010-10-25  来源:andyluo324324

#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/wait.h>
#include<syslog.h>
#define MAXFILE 65535
int main(void)
{
 pid_t child1,child2;
 int i;
 child1=fork();//创建子进程1
 if(child1==-1)//出错判断
 {
  perror("child1 fork");
  exit(1); 
 }
 else if(child1>0)//如果运行在父进程就退出
 {
  exit(0);
 }
 openlog("exc2_info",LOG_PID,LOG_DAEMON);//打开日志服务
 setsid();//下面就开始编写守护进程
 chdir("/");
 umask(0);
 for(i=0;i<MAXFILE;i++)
 {
  close(i);
 }
 child2=fork();//创建子进程2
 if(child2==-1)
 {
  perror("child2 fork");
  exit(1);
 }
 else if (child2==0)//在日志中写入字符串
 {
  syslog(LOG_INFO,"child2 will sleep for 10s");
  sleep(10);
  syslog(LOG_INFO,"child2 is going to exit !");
  exit(0);
 }
 else
 {
  waitpid(child2,NULL,0);//关闭日志服务
  syslog(LOG_INFO,"child1 noticed that child2 has exited");
  closelog();
  while(1)
  {
   sleep(10); 
  } 
 }
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载