问题标签 [sigkill]

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 回答
463 浏览

java - 从 Node 中杀死 java (Leiningen) 进程

java我正在从 NodeJS(通过child_process.spawn)启动一堆进程。从技术上讲,我正在启动 Leiningen(一个 Clojure 构建工具lein)。后来我试图杀死他们和他们所有的孩子。但它几乎从不工作,我得到的只是一个充满javas 的活动监视器(OSX)。

我首先运行thisProcess.kill(leinProcess.pid);(默认为 SIGTERM)杀死它们,等待 1 秒然后调用leinProcess.kill("SIGKILL");.

所有进程和主进程都在同一个用户下运行。

killall -9 java从命令行运行有效。

0 投票
1 回答
4295 浏览

linux - 进程在 linux 上意外终止

我的进程在没有人工干预的情况下在 linux 服务器上被杀死。我已经验证了以下场景。

  • 用户或管理员都没有进行手动干预来杀死
  • RAM 和 SWAP 未用尽
  • 'strace' 给我的消息是“+++ 被 SIGKILL +++ 杀死” - 这让我假设内核已经杀死了进程。

该进程占用 16.5GB 的虚拟内存,其中 RAM 为 16GB,SWAP 为 50GB。

任务:共 393 个,运行 2 个,睡眠 387 个,停止 4 个,僵尸 0 个

中央处理器:12.8%us、0.5%sy、0.0%ni、86.7%id、0.0%wa、0.0%hi、0.0%si、0.0%st

内存: 总共16015M,已使用 8700M,空闲 7315M,202M 缓冲区

交换: 总计51199M,已使用 150M,免费 51048M,缓存 5906M

PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令

31466 xyz 20 0 16.4g 1.3g 6704 R 100 8.3 0:16.99 测试*

您能否告诉我内核终止该进程的其他原因..

0 投票
1 回答
255 浏览

memory-management - SIGKILL 同时使用 calloc 在 C++ 中分配内存

这个问题是对为什么 malloc() 或 new 从不返回 NULL的后续问题?和SIGKILL 在 C++ 中分配内存时

从那里的答案中,我可以理解为什么程序在尝试写入由malloc. 但是,在使用calloc(在 SLC 和 Ubuntu 上)时,我看到了同样的问题:

程序没有返回空指针,而是 SIGKILLed,因此检查 的返回值calloc是徒劳的。但是calloc不应该受到“overcommit feature”的影响吗?(除非是靠malloc幕后……)

0 投票
0 回答
486 浏览

ios - 从后台返回时奇怪的应用程序崩溃

这似乎只是一个 iOS 8 问题。我在其他任何地方都没有看到它,它只发生在 iOS 8 上。这不是我的应用程序本地的,因为它似乎影响了我手机上的几乎所有应用程序,包括尚未更新到 iOS 8 的应用程序。 crashEXC_CRASH (SIGABRT)似乎是在随机线程上触发的。回溯当然没有帮助,因为我无法重新符号化来自不同构建和应用程序的崩溃报告。所以我决定在 Xcode 中运行我的应用程序并重新创建导致这次崩溃的事件。基本上我只是运行我的应用程序,让它加载,按下主页按钮切换到另一个应用程序,在我的手机上做一些事情,几秒钟后返回我的应用程序。当我确实让它崩溃并返回到我的应用程序时,而不是获取SIGABRT并获取堆栈跟踪,SIGKILL(lldb)控制台中的消息。这很奇怪,因为它不会在后台崩溃,而是在返回前台时崩溃,因此任何后台进程都不会中断。而且因为没有堆栈跟踪,我不知道为什么会这样。据我所知,SIGKILL只有当我按下停止按钮并且应用程序使用太多内存时,Xcode 才会给出 a。两件事都没有发生。有没有人经历过和/或解决过这个问题?

0 投票
1 回答
16988 浏览

javascript - 从代码级别重新启动 node.js 应用程序

我有一个应用程序,它最初创建static配置文件(一次),在写入文件后,我需要重新初始化/重新启动应用程序。有什么东西可以从自身重新启动node.js应用程序吗?

这是必需的,因为我runlevelsnode.js中有两个运行的应用程序。第一个完全启动synchronus,在此级别完成后,应用程序在先前启动的环境中处于异步运行级别。

我知道有像 nodemon 这样的工具,但这不是我需要的。

我试图杀死process.kill()正在运行的应用程序,但我无法收听 kill 事件:

还是有更好、更清洁的方法来处理这个问题?

0 投票
1 回答
6391 浏览

python-2.7 - Python 脚本被 SIGKILL 终止而不是抛出 MemoryError

再次更新

我试图创建一些简单的方法来重现这一点,但没有成功。

到目前为止,我已经尝试了各种简单的数组分配和操作,但它们都抛出 MemoryError 而不仅仅是 SIGKILL 崩溃。

例如:

或者:

只需按照应有的方式抛出 MemoryErrors 即可。

我希望在某个时候有一种简单的方法来重新创建它。

结束更新

我有一个运行 numpy/scipy 和一些自定义 C 扩展的 python 脚本。

在我的 Virtual Box 下的 Ubuntu 14.04 上,它运行得很好。

在 Amazon EC2 T2 微型实例上,它会终止(运行一段时间后)并输出:

被杀

在python调试器下运行,信号未被捕获,调试器也退出。

在 strace 下运行,我得到:

在尝试捕获“SIGKILL”时在 gdb 下运行,我得到:

运行 python 的跟踪模块(python -m trace --trace ),我得到:

我现在想不出其他任何事情来弄清楚发生了什么。

我怀疑它可能内存不足(它是一个 AWS Micro 实例),但我不知道如何确认或否认这一点。

有没有我可以使用的另一种工具来帮助精确定位程序停止的位置?(或者我正在以错误的方式运行上述工具之一来解决这个问题?)

更新

Amazon EC2 T2 微实例默认没有定义交换空间,所以我添加了一个 4GB 的交换文件并且能够运行程序完成。

但是,我仍然对运行程序的方式非常感兴趣,这样它会以一些更接近“内存不足”而不是“已杀死”的消息而终止

如果有人有任何建议,他们将不胜感激。

0 投票
0 回答
225 浏览

linux-kernel - 为什么当我尝试运行 vmlinux 时会收到 SIGKILL?

我已经将我的解压缩成vmlinuzavmlinux并尝试执行它,只是想看看会发生什么。但是,二进制文件在启动时会收到 SIGKILL!

为什么会这样?

我期待一个 SIGILL(内核试图做一些用户空间不允许的事情)或一个 SIGSEGV(试图访问不允许在用户模式下不允许访问的内核内存),但不是一个 SIGKILL!

进程是向自身发送 SIGKILL,还是被杀死?GDB 没有帮助——消息是During startup program terminated with signal SIGKILL, Killed.

最大常驻内存仅为 412kB,/bin/time因此 OOM 杀手不是罪魁祸首。事实上,即使我禁用了 OOM 杀手,也会发送 SIGKILL echo 2 | sudo dd of=/proc/sys/vm/overcommit_memory

0 投票
0 回答
31 浏览

ios - 启动应用程序时的随机信号

一次超过 10 次,从模拟器启动我的应用程序时,我有一个 sigkill。我完全不知道可能出了什么问题,因为我没有做任何事情来关闭应用程序。恐怕这个信号可能会发生在模拟器之外。

这是堆栈跟踪:

堆栈跟踪

你有足够的信息来帮助我吗?

提前致谢

0 投票
2 回答
735 浏览

linux - 我可以修改 SIGKILL 的信号处理程序的代码吗

如何修改 SIGKILL 的信号处理程序的代码,以便重新定义 SIGKILL 的 acitin?

0 投票
2 回答
1867 浏览

php - Apache杀死长时间运行的进程

在 linux apache 服务器(ubuntu 14.04 lts,带有 mpm_prefork 和 mod_php 的 apache 2.4.7)上,我的 PHP 脚本需要很长时间。这些被apache杀死了。

我们调整了 php 设置 (max_execution_time, set_time_limit...)

我们在日志中没有任何跟踪(syslog、apache 访问/错误日志)

我们使用 strace 跟踪了 apache 进程: