>>>fork错误

daehappy 2003-06-19 04:26:46
以下这个函数,我在主程序里面一调用就出错:first fork functinn failure .
没辙了,请高手帮忙!


//daemon_init.c

#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <fcntl.h>

int daemon_init()
{
struct sigaction act;
int i,maxfd;

if (fork()!=0)
{
printf("first fork functinn failure .\n");
exit(0);
}

if (setsid()<0)
{
printf("setsid function failure .");
return (-1);
}

act.sa_handler = SIG_IGN;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;

sigaction(SIGHUP,&act,0);

if (fork()!=0)
{
printf("second fork function failure .");
exit(0);
}

chdir("/");
umask(0);
maxfd = sysconf(_SC_OPEN_MAX);

for (i=0;i<maxfd;i++)
close(i);

open("dev/null",O_RDWR);
dup(0);
dup(1);
dup(2);

return 0;
}


主程序为:
30 int main(int argc,char *argv[])
31 {
32 int listenfd,connfd;
33 int PORT;
34 struct sockaddr_in srvaddr;
35 int n;
36 struct sigaction act;
37
38 if (argc!=2)
39 {
40 cout<<"usage: server port"<<endl;
41 return 1;
42 }
43
44 if (daemon_init()<0)
45 {
46 cout<<"daemon_init error. exit program now ."<<endl;
47 return 1;
48 }




》》》》》》》》》》》》》》》》

农民与大款的差距

--------------------------------------------------------------------------------

  文章发表:八目妖 文章来源:收集整理

 

文章内容:
俺们的差距
俺们刚吃上肉你们又吃菜了;
俺刚娶上媳妇你们又独身了;
俺们刚吃上糖你们又糖尿了;
俺们刚拿白纸擦屁股你们又用它擦嘴了。
俺们刚存点钱你们又买保险了。
俺们的娃子春节回家你们又开始出门旅游了。
俺们刚能歇会儿不用擦汗你们又去健身房、桑拿房流汗了;

俺们刚学会打电话,你们就说要宽带上网了
俺们刚能在电影院约会你们又改网恋了;
俺们刚吃饱穿暖你们又减肥挂肚兜露脐了
俺们刚把茅房改称厕所你们又把厕所改称洗手间了
俺们刚把白条换成人民币你们又把人民币换美元了

俺们刚把青菜上的害虫灭掉你们又爱吃虫啃过的青菜了
俺们刚结束喝河水而喝自来水你们又改喝农夫山泉了
俺们刚把破内裤扔掉你们又开始在裤子上剪洞了
俺们刚能座公汽你们又开始打的了
俺们刚开始学会打麻将你们又开始赌球了
俺们刚能抽点烟喝点酒你们又开始吃摇头丸了
俺们刚养了很多的王八你们有喜欢吃大闸蟹了

俺们刚能吹风扇你们就又用空调了。
俺们刚有点钞票你们就倒腾股票了。
俺们刚买了股票你们又说股票里有水份了。
俺们刚股票斩仓你们又说恢复性行情开始了。
俺们的乡镇企业正挣扎呢你们又玩借壳上市了。
俺们的民工进城了你们又开始下岗了。

俺们刚将绿草除掉种上庄稼你们又说要打高尔夫球了
俺们刚住上小洋房你们又说要住一家一院的小别墅了
俺们要到城里去开开眼界你们又往乡下跑了
俺们才不吃野菜你们又说吃野菜好了
俺们才不吃地瓜你们城里卖的地瓜比大米还贵了

俺们才不要马车你们又说要买私家车了
俺们才坐火车去旅游你们又说要出国考察了
俺们才买了照相机你们又说要玩数码的了
俺们才买了大哥大你们又说手机有辐射了

俺们洗脚睡觉你们洗脚休闲了
俺们洗澡睡觉你们洗澡按摸了
俺们推拿治病你们按摸泡妞了
俺们一夫一妻你们要包二奶了

为什么:俺们跟风站着你们却要躺着
俺们跟风躺着你们却要走着
俺们跟风走着你们却要站着
俺们吃饭撑着你们情愿饿着
...全文
188 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hs_guanqi 2003-06-19
  • 打赏
  • 举报
回复
当然是这样了,fork()的时候,对于父进程来说,返回的要么是子进程的pid,要么是-1,肯定不是0,当然要执行那个printf了。

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧