问题标签 [signals]
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.
sockets - 我应该如何关闭信号处理程序中的套接字?
我正在编写一个非常简单的服务器,它会永远循环,直到按下 Ctrl-C。我想让 ctrl-c 的信号处理程序关闭打开的套接字并关闭服务器,但我不知道信号处理程序的范围是什么,我不喜欢声明套接字的想法(s) 我需要关闭才能成为全球性的。
有人可以提供建议吗?有没有一些标准的方法来做到这一点?
unix - Unix 中的信号是什么?
这个评论让我感到困惑:“kill -l 通常列出所有信号”。我认为信号意味着量化的能量。
[已添加]请澄清 Unix 中的(计算)信号和物理信号。它们是完全不同的概念吗?
[添加]范式之间是否存在重大差异?在 C、Python 和 Haskell 等语言中的含义是否相同?信号似乎是一个通用术语。
c++ - 使用 SIGINT
根据这个http://www.cplusplus.com/reference/clibrary/csignal/signal.html
SIGINT
通常由用户使用/引起。我如何SIGINT
在 c++ 中导致 a ?我看到了一个使用示例,kill(pid, SIGINT);
但我宁愿以另一种方式引起它。我也在使用窗户。
c++ - 当用户杀死进程时发出信号?
我重载了本网站http://www.cplusplus.com/reference/clibrary/csignal/signal.html上列出的 6 个信号
然后我运行我的应用程序(双击未通过 IDE 运行)并尝试 1)结束任务 2)右上角的 X 和 3)终止进程。我预计前两个会引起某种信号(我在 XP 上),但可惜我什么也没得到。当信号发生时,我是否不允许打开要写入的文件?我猜我是(SIGSEGV 允许我)。
当 Firefox 崩溃或我杀死它时,它会记住我是什么页面。每次我点击一个页面时它都会记录地址还是在信号/崩溃时这样做?
我的主要问题是我可以使用什么信号来捕获终止进程
c++ - 更自然的 boost::bind 替代方案?
不要误会我的意思:Boostbind()
很棒。
但是我确实讨厌用它来编写和阅读代码,而且我已经放弃了希望我的同事们会摸索/使用它的希望。
我最终得到这样的代码:
这虽然合乎逻辑,但与我所说的好代码相去甚远。
为了演示......在 C++1x 中,我们将拥有:
一个好的 DSL 可能看起来像这样:
你如何处理 C++ 中的绑定?你只是生活在什么提升给你?
perl - 包装脚本应该将哪些信号传递给子程序?
如果我有一个脚本是另一个程序的包装器(例如,守护程序包装器或mathematica 的包装器),有时在包装器程序中捕获信号并将它们传递给子程序很有用。例如,这里有一些处理 INT(中断)信号的 Perl 代码,因此如果您在启动包装器后执行 ctrl-C,子程序也会被中断:
在程序可能处理的[所有可能的信号]( http://en.wikipedia.org/wiki/Signal_(computing)中,包装器脚本应该传递哪些信号?
还有什么好的包装器应该做的吗?
编辑:最初这个问题是询问如何传递所有可能的信号。感谢最初的答案,我了解到这不是正确的问题。
编辑:我想出了是什么让我在这里循环。Mathematica 显然脱离了它的父进程。所以我必须明确地传递各种终止信号:
通常这不是必需的,因为子进程会自动传递这些信号(感谢让我直截了当的答案!)。所以现在我想知道为什么(以及如何)mathematica 脱离自身......
exec - unix 中 exec 系列的任何函数都不会忽略 SIGINT 吗?
是否可以启动一个进程exec
并让该进程在后台运行,并且(不像System()
),kill
一旦将中断信号传递给创建它的父进程,该进程是否会被编辑?
select - 使用 select() 时无法捕获 SIGINT 信号
我已经为 SIGINT 定义了我自己的信号处理程序。但是我的信号处理程序没有被调用信号处理程序只是终止程序。但是在按 ctrl+c 时,程序并没有退出。请帮忙...
这就是代码的样子..
c - 在 C 中以毫秒为单位设置警报
我目前有一些使用 sigaction 将处理程序与 SIGALRM 信号相关联的 C 代码。然后我做警报(TIME_OUT_IN_SECONDS)。问题是,我需要毫秒,而不是秒,并且警报需要一个整数。如何设置信号以毫秒为单位触发?
c - 忽略 ctrl-c
我正在尝试编写一个 shell,而我正处于我想忽略的地步CtrlC。
我目前有我的程序忽略 SIGINT 并在信号到来时打印一个新行,但我怎样才能防止^C
被打印?
按下 时CtrlC,我得到的是:
但我想要:
这是我的相关代码CtrlC: