当前位置:  技术问答>linux和unix

守护进程接收信号杀死或重启子进程 如何实现?

    来源: 互联网  发布时间:2016-06-14

    本文导语:  int child_status; if ((pid = fork())  0) /* parent */ {     exit(0); } else /* child */ {     setsid();     chdir("/");     umask(0);     while(1)     { if ((pid = fork())  0) /* daemon process */    {        wait(&child_status);           ...


int child_status;
if ((pid = fork())  0) /* parent */
{
    exit(0);
}
else /* child */
{
    setsid();
    chdir("/");
    umask(0);
    while(1)
    {
if ((pid = fork())  0) /* daemon process */
   {
       wait(&child_status);       
   }
   else /* daemon process's child */
   {
       server_run (local_address, port);
   }
    }
}


以上的守护进程中如何实现:通过终端给守护进程发信号(KILL,RESTART等)杀死或重启子进程。

|
守护进程杀死子进程倒没问题,
kill(son_id,SIGKILL);即可
但是你要终端跟守护进程交互,这个只能自己记下守护进程的pid,
然后kill信号过去。
这个时候用 SIGUSR1 比较合适,然后给守护进程signal一个SIGUSR1 的处理函数,来实现kill(son_id,SIGKILL);

|
要另起一个线程去做这件事,等待信号。

|


这个当然没有问题  

在wait的时候 当然能接受信号 不过这时候注意一下 wait的返回值  

可能是 -1 然后 errno 是 INTR 这时你就要用一个循环中 调用wait的函数  如果是INTR 就continue

hairtz的方法是可以的。

    
 
 

您可能感兴趣的文章:

  • 守护进程调用普通进程,可以使其变成守护进程吗?
  • 孤儿进程与守护进程有何实质区别
  • 通过windows前台界面监控unix守护进程与守护运行的日志
  • 求教 "客户进程" 与 "守护进程" 间通信问题
  • Linux守护进程 的子进程 终端处理
  • 如何用函数判断某个守护进程处入运行中
  • 在linux中如何关闭或者停用守护进程
  • 调用守护进程
  • 守护进程为什么要忽略SIGHUP信号呢?
  • 守护进程的信号问题(UNIX环境高级编程 中的问题)
  • 如何用守护进程来监控另一个进程的状态 iis7站长之家
  • 如何用守护进程来监控另一个进程的状态
  • 进程守护者 process-monitor
  • 怎么向守护进程发SIGHUP
  • 守护进程里开线程可以吗?这样好不好?
  • 守护进程里如何运行另一程序?
  • 请教:在进程运行中将其转换成守护进程会怎么样?
  • 系统日志守护进程 sysklogd
  • 数字电视守护进程 GNOME DVB Daemon
  • 守护进程退出的时候,怎么关闭正在侦听的端口?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 守护程序启动的怪问题
  • 在SOLARIS下如何把程序设为守护
  • 写一个主目录下修改文件内容,用守护进程把这个动作写在日志上
  • 请问:为什么我在守护进程里面用pthread_create来启动线程,经常会卡在那里阿?
  • Postfix 邮件策略守护进程 Valvula
  • GPS 跟踪器守护进程 g7ctrl
  • 比特币守护程序 Freecoin
  • Gopher协议守护进程 Geomyidae
  • 网络接口事件日志守护进程 NIELD
  • TCP 网关守护进程 mochad
  • HTTP服务守护进程 DHTTPD
  • 声音启发守护进程 EsounD
  • C语言实现的mogstored守护进程 cmogstored
  • 路由守护进程 BIRD
  • 守护进程?
  • 问一个守护进程的问题
  • 关于 :启动 hal 守护进程
  • 守护进程与后台程序有何区别?
  • 守护进程自启动问题
  • 一个守护进程在里面printf想输出点东西为什么不输出?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3