zoukankan      html  css  js  c++  java
  • Linux 信号详解四(pause,alarm)

    pause函数
    --将进程置为可中断睡眠状态,然后它调用内核函数schedule(),使linux进程调度器找到另一个进程来运行。
    --pause使调用者进程挂起,直到一个信号被捕获。
    alarm函数
    --设置一个闹钟延迟发送信号,告诉linux内核n秒以后,发送SIGALRM信号。
    //kill 函数
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <errno.h>
    #include <sys/types.h>
    #include <sys/wait.h>
    #include <signal.h>
    
    void catch_signal(int sig)
    {
        switch(sig)
        {
        case SIGALRM:
            printf("sigalrm have recv !
    ");
            alarm(1);
        }
    }
    
    int main(int arg,char *args[])
    {
        //注册信号
        if(signal(SIGALRM,catch_signal)==SIG_ERR)
        {
            perror("signal error");
            return -1;
        }
        //一个alarm()函数只会发送一次信号
        alarm(1);
        while(1)
        {
            pause();
            printf("accept !
    ");
        }
    
        printf("game over!
    ");
        return 0;
    }
  • 相关阅读:
    web测试方法总结
    我认为测试应该掌握的SQL语句
    monkey(1)
    冒烟测试
    PC客户端测试总结
    常见测试点总结
    测试基本概念
    测试主要环节
    手机app常见bug积累
    MySQL面试题集锦
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6080718.html
Copyright © 2011-2022 走看看