Continuos信号手柄
Continuos Signal handle
我正在构建一种用于处理从RS232端口接收的信号的算法。基本思想是从RS232接收信号,然后用相机抓住图像。
现在让我们忽略相机和RS232。我的简短程序应该进入WARE循环,并要求" CIN"命令。如果command == 'b'
,则应升高信号并激活signal_handler()
功能。现在它可以正常工作。
我想做的就是更改程序以在循环时重新进入并继续。我的程序在Interupt后终止。
当我删除exit(signum)
时,程序将返回时循环并要求该命令。如果我再次输入" B"程序结束。
我在哪里出错?错误的信号还是整个方法?
谢谢!
void signalHandler(int signum) {
cout << "Interrupt signal (" << signum << ") received.n";
}
int main(){
char Command = 'a';
signal(SIGINT, signalHandler);
while (true){
cout << "Command: ";
cin >> Command;
if (Command == 'b'){
raise(SIGINT);
}
}
return 0;
}
您遇到的问题是因为一个信号被捕获,信号处理程序是 reset 的默认值,在SIGINT
的情况下是终止该过程。
您应该改用sigaction
,可以指定行为(检查有关SA_RESETHAND
标志的部分)。
相关文章:
- C++所有 AT 命令的短信返回错误 |PC<->通过蓝牙和winsocket的移动连接
- 将短信的卷轴移至顶部
- QT创建者发送短信
- 如何在连接到PC的gsm调制解调器中管理收到的短信?
- 通过Arduino上的gprs屏蔽接收短信
- 如何从QT移动应用程序发送和接收Symbian的短信?
- Continuos信号手柄
- C++列表.擦除(它,它)擦除某些东西吗?在哪里可以找到好的推荐信
- 将存储在SD卡上的电话号码插入短信发送AT命令Arduino
- 接收来自特定号码的短信
- C++ 刽子手游戏,如何让"right"信粘住
- QFtp hasPendingCommand() 返回 true,但从不发出 commandStarted(int) 信
- OpenMP 中的信令
- 来自C++插件信令的 QML 类型仅发出一次
- QListWidget 中的 setSelectionModel 停止发出 itemSelectionChanged 信
- BB10-从级联应用程序发送短信
- 我可以退回一份推荐信吗
- C++同时运行两个程序-短信逃亡-
- 把信变成文字
- pthread信令,无需内核调用