问题标签 [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 投票
1 回答
1714 浏览

process - SSH 将信号转发到远程进程

我正在运行 ssh 命令作为后台作业:

假设上面返回进程 ID:[ssh_pid]。

如何使 ssh 转发信号到远程进程?

即假设我这样做:kill -TERM [ssh_pid],那么它应该将 TERM 信号转发给远程进程,而不是自己处理它。

0 投票
1 回答
709 浏览

ssh - 为什么我的程序没有收到 SIGTERM?

我在某些服务器上使用 telnet/ssh 访问来运行特定的模拟器程序,并且该程序依靠 SIGTERM 退出自身(如果不交互式输入“退出”字符串)。

当我直接终止 telnet/ssh 会话时,程序通常会在大多数服务器上自行退出。但是在某些服务器上,我的模拟器不会收到 SIGTERM 信号,并继续作为 ROOT 进程的子进程运行。那么那些悬空的进程会消耗大量的 CPU 资源。

有人可以帮我看看在哪里看吗?或者如何解决这种情况?

谢谢,凯文

0 投票
1 回答
1670 浏览

ruby - 如何测试 RSpec 中的信号处理,特别是 SIGTERM 的处理?

Heroku 可能出于各种原因向您的应用程序发送 SIGTERM,因此我创建了一个处理程序来处理一些清理工作,以防发生这种情况。一些谷歌搜索没有产生任何关于如何在 RSpec 中测试的答案或示例。这是基本代码:

测试程序收到 SIGTERM 时调用此清理方法的最佳方法是什么?

0 投票
2 回答
972 浏览

linux - 记录来自 SIGTERM 的消息

当应用程序(在我的情况下是 C++ 守护程序)收到 SIGTERM 或 SIGINT 时,记录关闭消息的正确方法是什么?

根据CERTsignal(7) 手册页,从信号处理程序调用许多函数(可能包括大多数日志库使用的函数)是不安全的。

0 投票
2 回答
2369 浏览

c++ - Linux kill() 意外错误

Kill(pid, 0) 似乎没有正确设置错误代码...如 man for kill 中所述

错误

如果出现以下情况,kill() 函数将失败:

EINVAL sig 参数的值是无效或不受支持的信号编号。
EPERM 进程无权向任何接收进程发送信号。
ESRCH 找不到与pid指定的进程或进程组对应的进程或进程组。以下部分内容丰富。 1

它返回 ENOENT (没有这样的文件或目录),然后有时它返回 EINTR (系统调用中断)......

这是我正在做的事情:

难道我做错了什么?

0 投票
1 回答
589 浏览

sigkill - QNX 系统在使用 phshutdown 关闭时挂起

使用 phshutdown(重新启动或关闭)关闭 QNX neutrino 时,系统在杀死消息队列(mqueue)时挂起。屏幕上显示的消息是

关闭服务提供者(mqueue)

这可能是什么原因?

0 投票
1 回答
524 浏览

java - Java 应用程序在 Ubuntu 12.04 上没有收到信号

奇怪的问题

我正在尝试在接收信号时正确关闭我的 Java 应用程序,或者通过 kill 手动发送。我尝试杀死 SIGTERM、SIGHUP、SIGINT 等,并且每次 JVM 只是停止而不调用运行时关闭挂钩时,最后都会阻止或发出在 Java 代码中创建的陷阱。

并在 shutdownHook 不起作用时添加了处理程序

我在 Ubuntu 12.04 上运行 Java java 版本“1.6.0_24”

OpenJDK 运行时环境 (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)

OpenJDK 64 位服务器 VM(内部版本 20.0-b12,混合模式)

我也试过用Oracle Java jdk1.6.0_37,效果一样

当我在进程中使用 strace 来查看会发生什么时,我得到:

user@server:~/appdir$ sudo strace -v -p 32277Process 32277 附加 - 中断到 quitfutex(0x7f667f07d9d0, FUTEX_WAIT, 32278, NULL) = ? ERESTARTSYS(要重新启动)--- SIGTERM(终止)@ 0 (0) --- futex(0x7f667e2543e0, FUTEX_WAKE_PRIVATE, 1) = 1 rt_sigreturn(0x7f667e2543e0) = 202 futex(0x7f667f07d9d0, FUTEX_WAIT, 32272 附加 77 NULLIC PID以 143 退出

这个 NULLPANIC 看起来很可疑,但我不知道接下来会发生什么。

我在 Mac 上测试了该代码并且没有问题。任何想法是什么导致了问题以及如何解决这个问题?是否需要设置一些安全功能/策略?

0 投票
3 回答
2323 浏览

linux - 如何安全地杀死 Linux 进程?

连续向 FAT32 分区写入文件 (~1/s) 的嵌入式 Linux 系统在中断时偶尔会损坏分区。该过程可以通过两种方式中断:重启,或使用 musb_hdrc/gadget 通过 USB 将文件复制到主机或从主机复制文件。musb_hdrc/gadget 用于将分区的访问从内部嵌入式控制切换到 USB,以便与外部主机传输文件。解决方案可能是做一个killall process-name,但这会安全地杀死 Linux 进程吗?IOW:该过程是否会完成任何已经启动的文件 IO,或者仍然存在损坏的分区?根据killall 手册页 If no signal name is specified SIGTERM is sent.是否需要在代码中添加一些东西以确保 kill 是干净的和/或是否有一个特殊的 killall 信号名称来进行干净的 kill?

0 投票
1 回答
418 浏览

tomcat - Heroku Java Tomcat ServletContextListener 没有在 slugc 上调用 contextDestroyed 或重新启动

Heroku 使用 SIGTERM 允许进程正常关闭。但是,Tomcat 进程不响应 SIGTERM,并且从不在我的 ServletContextListener 上调用 contextDestroyed。

如何让 Tomcat 使用 Heroku 重新启动或当 Heroku 为我的应用程序进行 slug 编译时调用 contextDestroyed。

0 投票
1 回答
313 浏览

bash - Bash:绑定到 IP 地址的进程的故障安全终止

我有启动后绑定到地址和端口的进程。这些进程在屏幕使用中运行,exec以便在子进程关闭时屏幕关闭。

杀死进程时,我使用kill -9 PID,但有时屏幕结束,但当我重新启动进程时,旧进程仍在使用端口,我不得不再次终止进程。

我还读到了SIGKILL让套接字打开、过时的内存、正在使用的随机资源,所以我转向了 plain kill PID,它是一个SIGTERM.

是否SIGTERM保证允许进程与地址和端口解除绑定,还是有更好的选择?