zoukankan      html  css  js  c++  java
  • 和守护进程通信

    要和一个守护进程通信,你要向它发送信号,让它以某种方式相应。
    例如:强行要求一个守护进程重新读取它的配置文件,或者改变守护进程的行为,或者指示守护进程结束运行。
     
     
    使用信号与守护进程通信。
    守护进程中添加信号捕捉函数

    void catch_Signal(int Sign)

    {

      switch(Sign)

      {

      case SIGTERM:

      exit(EXIT_SUCCESS);

      }

    }

    通过shell脚本结束守护进程。

    #!/bin/sh

    WHOAMI=`whoami`

    PID=`ps -u $WHOAMI | grep abc | awk '{print $1}'`

    if (test "$PID" != "") then

          kill $PID

    fi

    注意:脚本文件的名称不要有‘abc’字样,不然执行ps的时候会把脚本名称也print出来
     
     
     
    使用FIFO与守护进程通信。
    读FIFO
    void readfifo()
    {
        int len = 0;
        char buf[1024];
        memset(buf, 0, sizeof(buf));
        int fd = open("/home/test/1/fifo1", O_RDONLY);
        while ((len = read(fd, buf, sizeof(buf))) > 0)
        {
            printf("%s
    ", buf);
        }
        close(fd);
        return;
    }
    写FIFO
    void writefifo()
    {
        int len = 0;
        char buf[1024];
        memset(buf, 0, sizeof(buf));
        int fd = open("/home/test/1/fifo1", O_WRONLY);
        scanf("%s", buf);
        write(fd, buf, sizeof(buf));
        close(fd);
        return;
    }
  • 相关阅读:
    C++输入问题探究
    剑指offer自学系列(一)
    一道算法题加深我对C++中map函数的理解
    数据结构和算法自学之排序算法(一)
    pyqt5_01_流程走通
    最新谷歌驱动对照表
    移动端测试
    selenium封装
    request封装
    MD5自定义加密
  • 原文地址:https://www.cnblogs.com/shichuan/p/4496189.html
Copyright © 2011-2022 走看看