zoukankan      html  css  js  c++  java
  • 信号 进程通信

    参考地址:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html

    接受信号:

    #include <signal.h>
    #include <sys/types.h>
    #include <unistd.h>
    void new_op(int,siginfo_t*,void*);
    int main(int argc,char**argv)
    {
    struct sigaction act;
    int sig;
    pid_t pid;

    pid=getpid();
    sig=atoi(argv[1]);

    sigemptyset(&act.sa_mask);
    act.sa_sigaction=new_op;
    act.sa_flags=SA_SIGINFO;
    if(sigaction(sig,&act,NULL)<0)
    {
    printf("install sigal error\n");
    }
    while(1)
    {
    sleep(2);
    printf("wait for the signal\n");
    }
    }
    void new_op(int signum,siginfo_t *info,void *myact)
    {
    printf("the int value is %d \n",info->si_int);
    }



    发送信号:

    #include <signal.h>
    #include <sys/time.h>
    #include <unistd.h>
    #include <sys/types.h>
    main(int argc,char**argv)
    {
    pid_t pid;
    int signum;
    union sigval mysigval;
    signum=atoi(argv[1]);
    pid=(pid_t)atoi(argv[2]);
    mysigval.sival_int=8;//不代表具体含义,只用于说明问题
    if(sigqueue(pid,signum,mysigval)==-1)
    printf("send error\n");
    sleep(2);
    }


    Makefile

    all:main
    main:
    gcc -g -Wall -O0 main.c -o main

    client:
    gcc -g -Wall -O0 client.c -o client

    clean:
    rm *.o main client

    使用方法:

    ./client 8

    ./main 8 1963 (1963为client id 号)

  • 相关阅读:
    P1162 填涂颜色
    P1238 走迷宫
    U68364 _GC滑迷宫
    P4783 【模板】矩阵求逆
    P2613 有理数取余
    koa1链接mongodb
    koa的跨域访问
    mongodb 降序
    mongodb 分页(limit)
    mongodb 查询数据
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2287530.html
Copyright © 2011-2022 走看看