阅读量:0
在C语言中,pause()
函数用于使程序暂停执行,直到接收到一个信号。
pause()
函数在 <unistd.h>
头文件中声明,其原型如下:
#include <unistd.h> int pause(void);
使用pause()
函数时,程序会进入一个无限循环,直到接收到一个信号才会继续执行。可以使用 Ctrl+C
组合键来发送 SIGINT
信号给程序来中断pause()
的等待。
下面是一个简单的使用pause()
函数的示例:
#include <stdio.h> #include <unistd.h> #include <signal.h> void handle_signal(int sig) { printf("Received a signal: %d\n", sig); } int main() { signal(SIGINT, handle_signal); // 注册信号处理函数 printf("Pause program execution...\n"); pause(); // 程序暂停等待信号 printf("Resume program execution...\n"); return 0; }
在上面的示例中,signal()
函数用于注册信号处理函数handle_signal()
,当接收到 SIGINT
信号时,会调用handle_signal()
函数进行处理。然后程序执行pause()
函数,暂停等待信号的到来。当我们在终端中按下 Ctrl+C
组合键时,程序会接收到 SIGINT
信号,handle_signal()
函数会被调用,打印出一个消息。接着程序继续执行,打印出"Resume program execution…"消息,最后结束程序的执行。