2023年7月29日,周六上午
函数原型
在Linux中,pause()
函数用于使当前进程暂停执行,直到接收到一个信号。
#include <unistd.h>int pause(void);
pause()
函数不接受任何参数。
通常,pause()
函数用于编写简单的信号处理程序,以等待一个特定的信号。当接收到该信号时,进程会从pause()
函数返回,然后执行信号处理程序中定义的代码。
使用示例
运行程序后,进程被阻塞,直到键入Ctrl+C才会输出“Caught signal!"
#include<signal.h>
#include<stdio.h>//信号处理程序
static void sigHandler(int sig){static int count=0;count++;printf("Caught signal!(%d)\n",count);
}int main(){//给特定信号安装信号处理程序//键入Ctrl+C时会产生SIGINT信号if(signal(SIGINT,sigHandler)==SIG_ERR)printf("signal error\n");//让进程睡眠,直到接收到一个信号for(;;)pause();
}