按下Ctrl + Z时不挂起的C程序
在程序出现故障并在终端编译器中异常运行时进行编程时,程序员可以明确停止程序运行。为了明确停止程序,用户必须知道需要按下的正确的键盘快捷键。
要终止代码块的执行,可以使用两种类型的键盘快捷键。
Ctrl + c-用于停止程序的执行,需要一些时间才能完成I / O操作,然后中止执行。它向进程终止发送SIGINT信号。在某些语言中,有多种方法可以处理此SIGINT,例如C中的signal函数。
Ctrl + z-用于停止程序的执行,所有与该流程相关的任务都将关闭,并且执行将被挂起。尽管实现相同,但它将SINTSTP信号发送到终止程序的进程,但与其他信号相比,此信号功能更强大。这也可以处理。
在这里,我们将编写一个能够超越ctrl + z调用的代码。而不是暂停程序,程序将输出“ ctrl + z无法暂停此代码”。
如上 ,可以使用C编程语言处理ctrl + z调用。当SINTSTP信号被调用以结束程序处理时。我们将重新定义该信号的作用,以便在使用时不终止代码并打印一行。
该signal()
方法用于处理此类事情。
示例
#include <stdio.h>#include <signal.h>
void signalhandler(int sig_num){
signal(SIGTSTP, signalhandler);
printf("Cannot execute Ctrl+Z\n");
}
int main(){
int a = 1;
signal(SIGTSTP, signalhandler);
while(a){
}
return 0;
}
输出结果
// an infinite loop
以上是 按下Ctrl + Z时不挂起的C程序 的全部内容, 来源链接: utcz.com/z/338295.html