按下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
热门推荐
10 办结婚喜酒祝福语简短
11 男孩的生日祝福语简短
12 分手后祝福语简短高级
13 生日祝福语外国诗词简短
14 平辈生日祝福语简短唯美
15 出众的生日祝福语简短
16 湛江同事结婚祝福语简短
17 新年送祝福语大全简短
18 友情赠送蛋糕祝福语简短