请教关于僵尸进程的问题

sprechen 2012-02-01 10:50:26
新开了一贴 因为发现一个很奇怪的问题

我系统启动时会调用脚本执行如下2个程序

./mydaemon.out &
./app.out

进入app后 app会给mydaemon发送一个命令 mydaemon收到后会 调用system函数连接pppoe

system("/bin/pppd... &"); telnet进去 ps 如果pppoe连接失败的话(如账号密码错误) 会看到系统会产生一个pppd僵尸进程

此时我重启app程序(不断电) 同样app发一个命令给mydaemon 连接pppoe失败 就不会有僵尸进程出现 这是为什么呢?
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprechen 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 justkk 的回复:]
通过什么方式发送命令?

你是说第一次会僵尸,第二次不会?
[/Quote]


int SendMsgToDaemon(my_daemon_param *pDaemon)
{
if(pDaemon == NULL)
{
return -1;
}
pDaemon->magic_no = MY_DAEMON_MAGIC;
int s = socket(AF_INET,SOCK_DGRAM,0);
if(s < 0)
{
return -1;
}
struct sockaddr_in to;
to.sin_family = AF_INET;
to.sin_addr.s_addr = inet_addr("127.0.0.1");
to.sin_port = htons(MY_DAEMON_PORT);
int ret = sendto(s,pDaemon,sizeof(my_daemon_param),0,(struct sockaddr *)&to,sizeof(to));
printf("SendMsgToDaemon ret=%d\n",ret);
close(s);
return ret;
}

通过socket 第一次是系统起来时发送会产生僵尸进程 第二次把应用程序app.out重启一下 再发送就不会产生僵尸进程了
justkk 2012-02-01
  • 打赏
  • 举报
回复
通过什么方式发送命令?

你是说第一次会僵尸,第二次不会?
sprechen 2012-02-01
  • 打赏
  • 举报
回复
发给mydaemon后 他会调用脚本 通过一个程序发回给app
justkk 2012-02-01
  • 打赏
  • 举报
回复
这个感觉与app.out 没有直接关系

23,120

社区成员

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

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