我必须弄清楚如何编写一个循环但无法使用CTRL-C退出5秒的程序,但是5秒后我可以使用CTRL-C结束程序。我一直在阅读系统调用,什么不是,但我不知道从哪里开始。如果有人能指引我朝着正确的方向,这里有确切的说明。谢谢。使用系统调用的问题
编写一个C程序,该程序使用系统调用创建一个循环,并且无法用控件C杀死5秒钟。当它开始时它会打印出“我已经开始循环,不能用^ C杀死。 。 。“然后每秒打印一条消息,说”仍然循环。 。 。“五秒钟后,允许循环被控制C杀死,并显示消息”我仍在循环,但我可以用^ C杀死......“每秒显示一次,直到用户杀死它为止。
您可以使用[sigaction](http://man7.org/linux/man-pages/man2/sigaction.2.html)来捕获Ctrl-C(SIGINT)。可能的[示例代码](http://stackoverflow.com/questions/4217037/catch-ctrl-c-in-c)上的sigaction。 – SSC
一个有趣的方法是将中断字符设置为control-T前5秒,然后将其设置回控制C. –