问题标签 [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.
python - 按下Ctrl + c时如何以干净的方式杀死python程序(包括ROS和扭曲协议)?
我已经制作了一个 ROS 节点,它使用 python 的扭曲协议与客户端建立连接。该程序按预期工作,但是当我尝试使用 Ctrl+c 终止该程序时,它显示以下错误消息:
[server_send_command_ver3-4] 升级到 SIGTERM
我在下面包含了我的一部分代码:
macos - Mac OS 守护进程未收到 SIGTERM
我有一个以 root 身份运行的 Mac OS X Carbon Daemon。它需要接收和处理 SIGTERM(和其他信号)才能正确终止。代码看起来像这样:
问题是 sig_hup() 永远不会被调用。
也许信号被 CFRunLoopRun() 捕获了?如果是这样,守护进程如何得到有关某些东西(例如 sudo launchctl unload ...)正在尝试终止它的通知?
linux - Bash 等待几个同时发生的子进程并在错误时杀死所有子进程
我正在运行一个带有多个同时命令(python 脚本)的 bash 脚本。如果其中一个进程失败,我会尝试杀死所有进程。问题是 python 脚本仍在后台运行,如果其中一个失败,我的 bash 脚本不知道。
这是我的脚本中的一个片段:
powershell - Powershell ISE - 空行上的 Ctrl-C 会杀死正在执行的脚本?
我早些时候在 ISE 中启动了一个长时间运行的脚本,并在它运行时开始工作,并在控制台面板中密切关注它的进度。当我输入错误并按下 Ctrl-C 而不是 Ctrl-V 时,我正在将函数调用复制到第二个脚本的另一部分。执行脚本立即退出。似乎 ISE 将其解释为正在运行的脚本的 SIGTERM,即使我没有突出显示控制台面板。
我看不到任何禁用此功能的选项,但如果这是预期行为,那么我认为这是不可接受的。我需要找到一种方法来关闭它,因为我已经失去了大约一个小时的工作(脚本必须从头到尾运行),因为一次意外的点击应该什么都不做。有谁知道这是预期的行为,还是我遇到了其他事情?
node.js - 在 Heroku 上重新启动 NodeJS 工作程序后恢复排队的作业
所以我在Heroku上有一个相当简单的设置。我正在使用RabbitMQ处理后台作业。我的设置包含一个使用Heroku Scheduler插件每天运行的节点脚本。脚本将作业添加到队列中,然后工作人员使用它们并将它们委托给单独的模块进行处理。
在我收到Heroku不时随机启动的SIGTERM事件之后,在重新启动实例之前,问题就开始了。
出于某种原因,在实例重新启动后,worker 永远不会再次恢复。只有当我通过执行手动重新启动它heroku ps:scale worker=0
并且heroku ps:scale worker=1
工作人员继续使用挂起的作业时。
这是我的工人:
linux - 如何清除父进程设置的子进程中的陷阱?
进程 A 设置了一个陷阱。然后它会创建一个子进程 B。如何清除进程 A 设置的陷阱?
过程A
工艺B
输出
在上面的示例中,我正在清除子进程 B 中的陷阱,但它没有被清除。操作系统是Linux。
c - 捕捉所有会停止程序的信号
我有一个程序可以捕捉任何终止信号。目前它所做的只是 catch Ctrl + C。我希望能够捕捉Ctrl + Z和Ctrl + \除Ctrl + C。这是我的代码的一部分。
我需要执行哪些其他信号来捕获Ctrl + Z和Ctrl + \?什么引起了SIGTERM
?提前致谢。
php - 如何停止 SIGTERM 和 SIGKILL?
我需要运行一个巨大的进程,它将运行 10 多分钟。我最大化了max_execution_time
,但在我的错误日志中,我得到一个 SIGTERM,然后是一个 SIGKILL。
我读了一些关于 SIGTERM 和 SIGKILL 的信息,它们来自守护进程,但我不知道如何阻止它发生。我只需要禁用它一晚。
python - 强制扭曲反应堆在 sigterm 上停止
我有一个 GCE 服务器设置来处理一些数据分析。我可以通过ws
using与它通信twisted
。我是这台服务器的唯一客户。
系统设置如下:
当我试图停止系统并且连接了客户端时,reactor
会忽略(或可能无限期延迟?)SIGTERM
,因为它正在处理客户端的连接。但是,系统的所有其他部分都是容错的,reactor
从不处理任何关键数据。它的存在仅用于监控目的。这意味着如果SIGKILL
不是其他multiprocess.Process
需要将数据转储到内存中的es,我可以很容易地在下次启动时继续上次停止的地方。
是否可以SIGTERM
立即(无需等待反应堆中正在运行的任务完成)断开任何连接并停止反应堆?
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文件如下:
请帮助纠正和解决问题。非常感谢。