问题标签 [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.

0 投票
4 回答
15683 浏览

ssh - 如何通过 SSH 将 SIGINT 发送到远程进程?

我有一个在远程机器上运行的程序,它希望从父级接收 SIGINT。该程序需要接收该信号才能正常运行。不幸的是,如果我通过 SSH 远程运行该进程并发送 SIGINT,则 ssh 进程本身会捕获和中断而不是转发信号。

以下是使用 GDB 的此行为示例:

本地运行:

远程运行:

任何人都可以提出解决这个问题的方法吗?本地 ssh 客户端是 OpenSSH_5.2p1。

0 投票
7 回答
93125 浏览

c - 如何捕获 Control+D 信号?

我想在我的程序中捕获Ctrl+D信号并为它编写一个信号处理程序。我怎样才能做到这一点?我正在使用C 语言并使用Linux系统。

0 投票
1 回答
661 浏览

c - Perl:阻塞信号没有按应有的延迟 -> 提供的测试代码

在我正在编写的 Perl 脚本中,我遇到了一个问题,我阻塞了INTandQUIT信号,在反引号内执行一个进程,然后解除阻塞INTandQUIT信号。我想防止 aINT或 aQUIT到达子进程并杀死它。

该脚本在代码中的正确位置成功地阻塞和解除阻塞,但是,它不会延迟信号并在它处于阻塞模式时执行我配置的处理程序,正如许多参考资料所说的那样。我知道它正在解除阻止,因为我可以在阻止或解除阻止命令之前或之后发送一个SIGINT并且它受到尊重。

操作系统:Linux 2.6.30 Perl 版本:5.8.8

代码片段:

0 投票
1 回答
9500 浏览

bash - 术语的 bash 陷阱 - 我做错了什么?

鉴于这个 hack.c 程序:

还有这个 hack.sh bash 脚本:

如果我运行 hack.sh,则会创建两个进程 - 一个用于 bash,一个用于 C 任务。如果 TERM 信号被发送到 bash 进程,则 C 进程不会受到伤害。

现在,假设原始 bash 是使用 Runtime.exec() 从 Java 程序启动的,那么我对它的唯一控制是 Process.destroy()(它将 TERM 发送到 bash 进程)?假设我希望C 进程与启动它的 bash 一起死掉?

我一直在 bash 中尝试这样的事情:

即捕获 TERM 信号并将其重新广播到整个进程组的陷阱子句。这对我不起作用 - 带有该陷阱子句的 bash 进程会忽略TERM 信号。

我在这里想念什么?

0 投票
6 回答
2727 浏览

c - c 替代信号()+警报()

我正在构建一些 FastCGI 应用程序,这有点让我觉得 lighttpd 在它们空闲后不会杀死它们,所以我试图让它们自己关闭。

我尝试使用

并让 close 函数执行 exit(0),这几乎可以正常工作。

问题是每次主程序循环运行时都会调用 close 函数(我调用 alarm(300) 每个循环来重置它)。我已经阅读了alarm() 的手册页,并且似乎使用相同的值多次调用它应该触发SIGALRM,所以我假设Lighttpd 正在发送警报信号。

大问题!有没有办法在特定间隔之后运行方法,并且没有 SIGALRM 可以重置该间隔?如果我也可以有多个警报,我会很好。

到目前为止,这是整个应用程序:

0 投票
1 回答
13731 浏览

c - 创建并发出 gtk 信号

我正在尝试创建并发出 GTK 信号:

这是我发出信号的代码:

这是我处理信号的代码:

当我运行代码时,出现以下错误:

GLib-GObject-CRITICAL **:g_closure_调用:断言 `closure->marshal || 关闭->meta_marshal' 失败

我知道这与将 marshaller 传递给g_signal_new函数有关,但我不知道 marshaller 是什么,我无法理解文档,并且在线示例很少而且相差甚远。如何声明和连接自己的信号?

0 投票
4 回答
3246 浏览

sockets - 为什么写入未连接的套接字首先发送 SIGPIPE?

POSIX 环境中有很多可能的错误。为什么其中一些(特别是写入未连接的套接字)以信号的形式得到特殊处理?

0 投票
1 回答
240 浏览

python - 为什么我不能在 Linux 中使用 Jython 导入 Python 模块“信号”?

我找不到对 Jython 中遗漏的“信号”类的任何引用。使用 Jython 2.1。

谢谢

0 投票
5 回答
14323 浏览

pthreads - pthreads:来自临界区的 pthread_cond_signal()

我在线程A中有以下代码,它使用pthread_cond_wait()

我在线程 B 中有以下代码,它向线程 A 发出信号

pthread_cond_signal(&my_wait)如果没有其他线程,如果移出关键部分块,如下所示会有什么不同吗?

0 投票
4 回答
149993 浏览

c++ - 如何捕捉 ctrl-c 事件?

如何在 C++ 中捕获Ctrl+C事件?