165得票4回答
110得票17回答
我能否在Windows上向一个应用程序发送ctrl-C(SIGINT)信号?

我曾经编写过跨平台(Windows / Unix)应用程序,在命令行启动时以相同的方式处理用户键入的 Ctrl-C 组合键,即优雅地终止应用程序。 在 Windows 上,是否可以从另一个(无关的)进程发送 Ctrl-C/SIGINT/等价信号到进程中,从而请求其优雅地终止(给予其机会清理资...

53得票3回答
如果发出SIGINT或SIGSTP信号,析构函数会被调用吗?

我有一个拥有用户自定义析构函数的类。如果在程序运行时最初实例化该类,然后发出SIGINT(在unix中使用CTRL+C),析构函数会被调用吗?对于SIGSTP(在unix中使用CTRL+Z),行为如何? 我有一个带有用户定义析构函数的类。如果该类在程序运行时首先被实例化,并且在程序运行期间发...

52得票2回答
Ctrl-C和SIGINT有什么区别?

我一直在调试一个Python程序,该程序在接收到KeyboardInterrupt异常后崩溃。通常可以通过在shell中按下Ctrl+C来完成此操作。为了测试某个代码更改是否修复了错误,我有一个小型 shell 脚本,在启动后随机时间向程序发送 SIGINT 信号。我的问题是,发送 Ctrl+...

45得票5回答
Python: 如何防止子进程接收CTRL-C / Control-C / SIGINT信号?

我目前正在为一个在shell中运行的专用服务器编写包装器。该包装器通过subprocess生成服务器进程,并观察和响应其输出。 专用服务器必须明确地给出一个命令以正常关闭。因此,CTRL-C不能到达服务器进程。 如果我在Python中捕获KeyboardInterrupt异常或覆盖SIGI...

44得票4回答
Python: 捕捉Ctrl-C命令。提示“是否真的要退出(y / n)”,如果不退出则恢复执行。

我有一个可能需要很长时间才能执行完的程序。在主模块中,我有以下代码:import signal def run_program() ...time consuming execution... def Exit_gracefully(signal, frame): ... lo...

37得票2回答
如何优雅地使用Ctrl-C终止asyncio脚本?

我阅读了所有关于如何优雅地处理带有asyncio事件循环的脚本在使用Ctrl-C被终止的文章,但我无法使它们在不打印一个或多个tracebacks的情况下正常工作。答案几乎都是五花八门的,我也没能将它们中的任何一种实现到这个小脚本中:import asyncio import datetime...

35得票2回答
捕获SIGTERM与捕获SIGINT的区别

在Node.js服务器中,捕获SIGTERM与捕获SIGINT有什么区别吗? 我以为进程无法在收到SIGINT时阻止关闭? process.once('SIGINT', function (code) { console.log('SIGINT received...'); ...

31得票3回答
如何在Express.js中正确处理SIGINT信号?

当我的Express.js服务被SIGINT停止时,我需要执行一些有用的操作。使用 Express.js 版本 3.0.6, 我了解到应该执行以下操作: var express = require('express'); var app = express(); var server = ...

30得票5回答
在 Eclipse 控制台中运行程序时向其发送 SIGINT 信号(Ctrl-C)

我在Eclipse中设置了一个运行配置,并需要向程序发送SIGINT(Ctrl+C)信号。程序中有清理代码会在SIGINT之后运行,因此按下Eclipse的“终止”按钮不起作用(我想它们会发送SIGKILL)。在控制台中键入CTRL+C也不起作用。 如何向在Eclipse控制台中运行的进程发...