问题标签 [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 回答
7374 浏览

unix - 如何在 unix 中获取已终止进程的返回码?

我有一个 bash 脚本,我通过将 SIGTERM 信号发送到它的进程 ID 来终止正在运行的进程。但是,我想知道我刚刚发送信号的进程的返回码。

那可能吗?

我不能使用“等待”,因为要杀死的过程不是从我的脚本开始的,而且我收到“pid ##### 不是这个 shell 的孩子”

我在命令行中进行了一些测试,在运行进程的控制台中,在我发送 SIGTERM 信号(从另一个控制台)之后,我检查了退出代码,它是 143。我想从不同的脚本中终止进程并抓住那个号码。

0 投票
0 回答
1135 浏览

debugging - 在 QT Creator 中运行调试器时处理“停止”发送的信号

在 QT Creator(在 Linux 机器上)中正常运行我的程序时,当我点击“停止”按钮时,我能够处理 SIGTERM 信号并优雅地关闭我的软件。但是,当我在调试模式下运行并点击同一个按钮时,似乎没有执行任何信号,程序就死了。在调试模式下运行时停止按钮是否会发送其他信号,如果是,是什么信号?甚至可以在 QT Creator 中处理这个问题吗?它是否会发送一个我什至无法处理的信号,例如 SIGKILL?如果我向我的软件进程发出 SIGTERM 信号,我可以优雅地关闭在调试模式下完成的软件,但我希望有一种方法可以在 QT Creator 中执行此操作,而不是使用另一个终端窗口。

谢谢!

0 投票
1 回答
1245 浏览

java - Java 进程在重负载下不会在 SIGTERM 上退出

在正常操作中,我的应用程序在发送“kill -s SIGTERM”时退出正常。

但是,在负载下,有时该进程不会退出。

我只是想知道http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392332是否可能是造成这种情况的原因,或者是否可能是其他原因?

以下是相关进程的堆栈跟踪的一些部分,显示了关闭方法,非常感谢任何帮助。

请注意,这是在 64 位 RHEL 6.3 上运行的 Java 进程。

0 投票
1 回答
1050 浏览

c - 收到信号 SIGTERM 后关闭 FIFO

只是这个简短的问题:如果我们收到 SIGTERM 并退出,我们如何关闭 FIFO 文件。如果我的文件是普通文件,它可以工作。但是如果是FIFO,就不行了。有任何想法吗?谢谢 :)

0 投票
1 回答
640 浏览

unix - SIGTERM 和 SIGKILL

我正在阅读以下stackoverflow帖子

我应该按什么顺序向正常关闭进程发送信号?

并遇到以下声明。请帮助我理解我用粗体标记的部分。[在答案中找到 3 票]

“守护程序有时使用 SIGHUP 重新启动或重新加载配置的原因是守护程序与任何控制终端分离,因此永远不会收到 SIGTERM,因此该信号被视为“释放”以供一般使用。

0 投票
1 回答
2495 浏览

python - 多次调用 SIGTERM 处理程序

我正在做这样的事情

我在 self.run 中注册了该功能(使用守护程序)

self.stopThreads() 有时需要一段时间才能完成。我正在停止由这些线程启动的子进程。当信号处理程序被多次调用时,我会收到如下错误消息:

一切都很好,即使我的所有进程都忽略了异常,线程也应该完成。我很好奇我做错了什么以及如何摆脱被忽略的异常错误。

0 投票
1 回答
21567 浏览

signals - SIGTERM 无法杀死进程

我有一个单线程进程,它不会在 kill -TERM 上死亡。进程信号掩码不显示 SIGTERM 被阻止。我正在以 root 身份执行“杀死”。我可以使用 SIGKILL 终止该进程,但这是更大系统的一部分,我希望 SIGTERM 工作。

请注意 Sig* 属性。SigCgt、SigIgn 和 SigBlk 表示 SIGTERM 既没有被捕获、也没有被忽略或被阻止(位 #15 未设置 - 将最低有效位计为 #1)。由于 SIGTERM 的默认处置是终止进程,我希望它被杀死。但这不会发生——

该进程在 wait() 系统调用中被阻塞,等待子进程终止:

该进程是使用带有标志 SIGCHLD | 的 clone() 创建的单线程进程。CLONE_NEWPID | 克隆_新闻。PID 5105 是从父(默认)PID 命名空间查看的顶级 PID。

使用 SIGKILL 杀死进程表明 PID 或进程跟踪不是问题。

0 投票
9 回答
218987 浏览

python - 如何优雅地处理 SIGTERM 信号?

假设我们有一个用 python 编写的简单的守护进程:

我们使用start-stop-daemon它来守护它,默认情况下发送SIGTERM( TERM) 信号--stop

假设当前执行的步骤是#2. 而此时我们正在发送TERM信号。

发生的情况是执行立即终止。

我发现我可以使用处理信号事件,signal.signal(signal.SIGTERM, handler)但问题是它仍然会中断当前执行并将控制权传递给handler.

所以,我的问题是 - 是否可以不中断当前执行但TERM在单独的线程中处理信号(?),以便我能够设置shutdown_flag = True以便mainloop()有机会优雅地停止?

0 投票
1 回答
289 浏览

java - 用Java编写一个unix kill

我正在为 Java 程序编写单元测试,我需要模拟 Unix 杀戮。有什么办法可以做到这一点?

谢谢!

0 投票
0 回答
95 浏览

ios - 调试电视分辨率开关

我想编写一个使用外部电视的 iPad 应用程序。为了检测外部显示器,我使用推荐的代码:

但是,如果我在模拟器中运行它并切换电视的分辨率(或打开或关闭“TV out”),我不会收到通知,但应用程序会以sigterm.

有没有办法在模拟器中测试这个?