当按下Ctrl+Z时不挂起的C程序

编写一个C程序,当按下Ctrl+Z时不会终止。它打印一条消息“不能使用Ctrl+Z暂停”,并继续执行。

null

我们可以使用 Unix信号 为了这个。按下Ctrl+Z时,生成SIGTSTP信号。

SIGTSTP 信号由控制终端发送给进程,请求其停止(终端停止)。我们可以捕捉这个信号并运行我们自己定义的信号。 标准C库函数 信号() 可用于为上述任何信号设置处理程序。

// C program that does not suspend when
// Ctrl+Z is pressed
#include <stdio.h>
#include <signal.h>
// Signal Handler for SIGTSTP
void sighandler( int sig_num)
{
// Reset handler to catch SIGTSTP next time
signal (SIGTSTP, sighandler);
printf ( "Cannot execute Ctrl+Z" );
}
int main()
{
// Set the SIGTSTP (Ctrl-Z) signal handler
// to sigHandler
signal (SIGTSTP, sighandler);
while (1)
{
}
return 0;
}


输出:

Cannot execute Ctrl+Z

本文由 普拉莫德·库马尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献。极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享