如何中断C 程序

How to interrupt a C++ program

本文关键字:程序 中断 何中断      更新时间:2023-10-16

这是节目:

while(true)
{
//bunch of codes that gets data from port ,
//if there is no data it waits here .
}

我正在使用Linux,是否有对Ctrl C等关键的内置支持。我可以使用signal(SIGINT, signal_callback_handler);捕获,但是Ctrl C有一些问题,因为它会产生错误。

我想在键盘上摆脱这个循环,这可能吗?如果是,该怎么做。

您可以发出Interupt

的信号
      #include <csignal>
      raise(SIGINT);

     raise(SIGABRT);
while(!_kbhit()){
    // do stuff here.
}

在Windows上工作。

可以终止程序的功能是 exit()

要输入cicle的过早终止,可以使用break

如果您愿意使用一些面向C的解决方案,我建议您看看这个问题。

对于与Linux严格相关的内容,您可能应该参考NCURSES库与退出功能。

也不假设特定的密钥组合等于终止,许多终端不是真实的终端,而是模拟器,许多模拟器都是由OS创建者和用户定制的。