问题标签 [sigint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++:在 SIGINT 之后继续执行
好的,我正在编写一个正在执行一些非常繁重的分析的程序,我希望能够快速停止它。
我添加signal(SIGINT, terminate);
到 main 的开头并定义了终止,例如:
在 linux 中,这按我的预期工作,即它等待用户输入。但是当我尝试在 Windows 中做同样的事情时,它会显示消息并退出。
有什么办法可以阻止 SIGINT 立即关闭程序?
更新:
当我尝试
正如 Gregory 所建议的那样,该程序仍然毫不客气地退出而没有停止用户输入。
更新 2:我不确定是什么做的,但代码现在可以正常工作。谢谢大家的帮助。
c - 在自己的处理程序中捕获信号
捕获KeyboardInterrupt一次后,当我再次按 "Ctrl+C" 时,不处理 SIGINT ......我打算每次按 "Ctrl+C"时都应打印"Into handler " 。
我想在“SIGINT handler()”本身中捕获 SIGINT..
objective-c - 在 Objective-C 中将 control+c (SIGINT) 发送到 NSPIPE
我正在尝试终止通过 NSTask 生成的 openvpn 任务。
我的问题:
我应该将ctrl+ c(SIGINT) 发送到我的 NSTask 的输入 NSPipe 吗?
或者,我正在考虑使用 kill(pid, SIGINT); 但它会复杂得多,因为必须通过绕道确定进程 ID([task processIdentifier] 在这里没有帮助) - 原始 NSTask 调用:
这不好,我知道,但它只被调用一次,并且在这种情况下已经输入了 sudo 密码。
python - python - 如何停止将SIGINT传递给python中的子进程?
我的 python 脚本使用信号处理模块拦截 SIGINT 信号以防止过早退出,但是这个信号被传递给我用 Popen 打开的子进程。是否有某种方法可以防止将此信号传递给子进程,以便在用户按下 ctrl-c 时它也不会过早退出?
signals - 使用 supervisord 将信号传递给托管进程
我正在使用 supervisord 来生成和管理我用 C 语言为 linux 目标编写的 FastCGI 应用程序。我有一个信号处理程序,可以在收到 SIGINT 时优雅地退出我的应用程序。我已经通过在终端窗口中运行应用程序并发出 Ctrl-C 退出来验证信号处理程序是否按预期工作。
当向 supervisord(通过 supervisorctl)发出“关闭”命令时,supervisord 似乎无法在不调用 SIGKILL 的情况下强制应用退出:
我的 supervisord.conf 文件中有以下内容
我假设 supervisord 在调用 shutdown 命令时发出“停止信号”,所以我将 INFO 语句作为我的应用程序没有响应 supervisord 发出的 SIGINT 的指示。
如何调试 supervisord 和我的应用程序之间传递的信号?
python - 信号处理程序,python
我有一个多线程程序,并在按下 ctrl c 时使用 signal.signal(SIGINT,func) 杀死所有线程。我的问题是:
我必须从 python 中的 main 调用 signal.signal(...) 。我是否必须在循环中调用它,或者我可以只设置一次,每当用户按下 ctrl c 时,信号就会被捕获?
python - 如何在线程 python 程序中捕获 SIGINT?
使用模块线程和类Thread()
时,我无法捕获SIGINT
(控制台中的Ctrl+ C)无法捕获。
为什么以及我能做什么?
简单的测试程序:
当我点击Ctrl+C时,什么也没有发生。
c - 从 Ctrl+C 使用 SIGINT
好吧,所以我正在使用 sighandler 来解释一些信号,为此它是Ctrl+ C,所以当Ctrl+C被键入时,将采取一些行动,一切都很好而且花花公子,但我真正需要的是让这种情况发生^C
出现在输入/输出中
例如,假设我有这个代码
输出将是
^CUser pressed Ctrl+C
我怎么能简单地做到这一点
User pressed Ctrl+C
?
c - 简单外壳中的分段错误
我正在为一个简单的 c shell 编写代码。它存储最后 10 个命令的历史记录。如果“r”作为命令输入,那么它应该运行历史记录中最近的命令。此外,如果输入了“r x”,其中“x”是历史记录中要执行的命令的第一个字母,那么它将运行以该字母开头的最新命令。
我遇到了从历史复制到 inputBuffer 的问题;当我尝试这样做时,它会出现分段错误。
这是代码(这很乱,我一直在尝试很多不同的东西,希望能修复它)。任何建议将不胜感激!
c++ - 如果发出 SIGINT 或 SIGSTP,是否调用析构函数?
我有一个带有用户定义析构函数的类。如果该类最初是实例化的,然后在程序运行时发出 SIGINT(在 unix 中使用 CTRL+C),会调用析构函数吗?SIGSTP(unix 中的 CTRL + Z)的行为是什么?