问题标签 [sigterm]

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 投票
2 回答
8604 浏览

python - 按下Ctrl + c时如何以干净的方式杀死python程序(包括ROS和扭曲协议)?

我已经制作了一个 ROS 节点,它使用 python 的扭曲协议与客户端建立连接。该程序按预期工作,但是当我尝试使用 Ctrl+c 终止该程序时,它显示以下错误消息:

[server_send_command_ver3-4] 升级到 SIGTERM

我在下面包含了我的一部分代码:

0 投票
0 回答
399 浏览

macos - Mac OS 守护进程未收到 SIGTERM

我有一个以 root 身份运行的 Mac OS X Carbon Daemon。它需要接收和处理 SIGTERM(和其他信号)才能正确终止。代码看起来像这样:

问题是 sig_hup() 永远不会被调用。

也许信号被 CFRunLoopRun() 捕获了?如果是这样,守护进程如何得到有关某些东西(例如 sudo launchctl unload ...)正在尝试终止它的通知?

0 投票
1 回答
80 浏览

linux - Bash 等待几个同时发生的子进程并在错误时杀死所有子进程

我正在运行一个带有多个同时命令(python 脚本)的 bash 脚本。如果其中一个进程失败,我会尝试杀死所有进程。问题是 python 脚本仍在后台运行,如果其中一个失败,我的 bash 脚本不知道。

这是我的脚本中的一个片段:

0 投票
1 回答
351 浏览

powershell - Powershell ISE - 空行上的 Ctrl-C 会杀死正在执行的脚本?

我早些时候在 ISE 中启动了一个长时间运行的脚本,并在它运行时开始工作,并在控制台面板中密切关注它的进度。当我输入错误并按下 Ctrl-C 而不是 Ctrl-V 时,我正在将函数调用复制到第二个脚本的另一部分。执行脚本立即退出。似乎 ISE 将其解释为正在运行的脚本的 SIGTERM,即使我没有突出显示控制台面板。
我看不到任何禁用此功能的选项,但如果这是预期行为,那么我认为这是不可接受的。我需要找到一种方法来关闭它,因为我已经失去了大约一个小时的工作(脚本必须从头到尾运行),因为一次意外的点击应该什么都不做。有谁知道这是预期的行为,还是我遇到了其他事情?

0 投票
1 回答
415 浏览

node.js - 在 Heroku 上重新启动 NodeJS 工作程序后恢复排队的作业

所以我在Heroku上有一个相当简单的设置。我正在使用RabbitMQ处理后台作业。我的设置包含一个使用Heroku Scheduler插件每天运行的节点脚本。脚本将作业添加到队列中,然后工作人员使用它们并将它们委托给单独的模块进行处理。

在我收到Heroku不时随机启动的SIGTERM事件之后,在重新启动实例之前,问题就开始了。

出于某种原因,在实例重新启动后,worker 永远不会再次恢复。只有当我通过执行手动重新启动它heroku ps:scale worker=0并且heroku ps:scale worker=1工作人员继续使用挂起的作业时。

这是我的工人:

0 投票
1 回答
403 浏览

linux - 如何清除父进程设置的子进程中的陷阱?

进程 A 设置了一个陷阱。然后它会创建一个子进程 B。如何清除进程 A 设置的陷阱?

过程A

工艺B

输出

在上面的示例中,我正在清除子进程 B 中的陷阱,但它没有被清除。操作系统是Linux。

0 投票
1 回答
1729 浏览

c - 捕捉所有会停止程序的信号

我有一个程序可以捕捉任何终止信号。目前它所做的只是 catch Ctrl + C。我希望能够捕捉Ctrl + ZCtrl + \Ctrl + C。这是我的代码的一部分。

我需要执行哪些其他信号来捕获Ctrl + ZCtrl + \?什么引起了SIGTERM?提前致谢。

0 投票
1 回答
2233 浏览

php - 如何停止 SIGTERM 和 SIGKILL?

我需要运行一个巨大的进程,它将运行 10 多分钟。我最大化了max_execution_time,但在我的错误日志中,我得到一个 SIGTERM,然后是一个 SIGKILL。

我读了一些关于 SIGTERM 和 SIGKILL 的信息,它们来自守护进程,但我不知道如何阻止它发生。我只需要禁用它一晚。

0 投票
1 回答
664 浏览

python - 强制扭曲反应堆在 sigterm 上停止

我有一个 GCE 服务器设置来处理一些数据分析。我可以通过wsusing与它通信twisted。我是这台服务器的唯一客户。

系统设置如下:

当我试图停止系统并且连接了客户端时,reactor会忽略(或可能无限期延迟?)SIGTERM,因为它正在处理客户端的连接。但是,系统的所有其他部分都是容错的,reactor 从不处理任何关键数据。它的存在仅用于监控目的。这意味着如果SIGKILL不是其他multiprocess.Process需要将数据转储到内存中的es,我可以很容易地在下次启动时继续上次停止的地方。

是否可以SIGTERM立即(无需等待反应堆中正在运行的任务完成)断开任何连接并停止反应堆?

0 投票
0 回答
2934 浏览

php - 捕捉到 SIGTERM,正在关闭:php 文件显示空白

我正在使用 ubuntu14.04。我按照https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04安装了 LAMP 。我的 apache2 工作正常,我可以从 localhost 运行我的 html 代码(文件位于 /var/www/html 上)。但是服务器无法识别php代码。我创建了一个包含小代码的文件 info.php:

但是当我在本地主机上运行这个文件时,页面是完全空白的。运行时,控制台显示以下问题:“未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器配置中,该文档将呈现乱码。页面必须在文档或传输协议中声明”

而我的error.log文件如下:

请帮助纠正和解决问题。非常感谢。