问题标签 [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.
java - 从 Node 中杀死 java (Leiningen) 进程
java
我正在从 NodeJS(通过child_process.spawn
)启动一堆进程。从技术上讲,我正在启动 Leiningen(一个 Clojure 构建工具lein
)。后来我试图杀死他们和他们所有的孩子。但它几乎从不工作,我得到的只是一个充满java
s 的活动监视器(OSX)。
我首先运行thisProcess.kill(leinProcess.pid);
(默认为 SIGTERM)杀死它们,等待 1 秒然后调用leinProcess.kill("SIGKILL");
.
所有进程和主进程都在同一个用户下运行。
killall -9 java
从命令行运行有效。
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 测试*
您能否告诉我内核终止该进程的其他原因..
memory-management - SIGKILL 同时使用 calloc 在 C++ 中分配内存
这个问题是对为什么 malloc() 或 new 从不返回 NULL的后续问题?和SIGKILL 在 C++ 中分配内存时:
从那里的答案中,我可以理解为什么程序在尝试写入由malloc
. 但是,在使用calloc
(在 SLC 和 Ubuntu 上)时,我看到了同样的问题:
程序没有返回空指针,而是 SIGKILLed,因此检查 的返回值calloc
是徒劳的。但是calloc
不应该受到“overcommit feature”的影响吗?(除非是靠malloc
幕后……)
ios - 从后台返回时奇怪的应用程序崩溃
这似乎只是一个 iOS 8 问题。我在其他任何地方都没有看到它,它只发生在 iOS 8 上。这不是我的应用程序本地的,因为它似乎影响了我手机上的几乎所有应用程序,包括尚未更新到 iOS 8 的应用程序。 crashEXC_CRASH (SIGABRT)
似乎是在随机线程上触发的。回溯当然没有帮助,因为我无法重新符号化来自不同构建和应用程序的崩溃报告。所以我决定在 Xcode 中运行我的应用程序并重新创建导致这次崩溃的事件。基本上我只是运行我的应用程序,让它加载,按下主页按钮切换到另一个应用程序,在我的手机上做一些事情,几秒钟后返回我的应用程序。当我确实让它崩溃并返回到我的应用程序时,而不是获取SIGABRT
并获取堆栈跟踪,SIGKILL
(lldb)
控制台中的消息。这很奇怪,因为它不会在后台崩溃,而是在返回前台时崩溃,因此任何后台进程都不会中断。而且因为没有堆栈跟踪,我不知道为什么会这样。据我所知,SIGKILL
只有当我按下停止按钮并且应用程序使用太多内存时,Xcode 才会给出 a。两件事都没有发生。有没有人经历过和/或解决过这个问题?
javascript - 从代码级别重新启动 node.js 应用程序
我有一个应用程序,它最初创建static
配置文件(一次),在写入文件后,我需要重新初始化/重新启动应用程序。有什么东西可以从自身重新启动node.js应用程序吗?
这是必需的,因为我runlevels
在node.js中有两个运行的应用程序。第一个完全启动synchronus
,在此级别完成后,应用程序在先前启动的环境中处于异步运行级别。
我知道有像 nodemon 这样的工具,但这不是我需要的。
我试图杀死process.kill()
正在运行的应用程序,但我无法收听 kill 事件:
还是有更好、更清洁的方法来处理这个问题?
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 的交换文件并且能够运行程序完成。
但是,我仍然对运行程序的方式非常感兴趣,这样它会以一些更接近“内存不足”而不是“已杀死”的消息而终止
如果有人有任何建议,他们将不胜感激。
linux-kernel - 为什么当我尝试运行 vmlinux 时会收到 SIGKILL?
我已经将我的解压缩成vmlinuz
avmlinux
并尝试执行它,只是想看看会发生什么。但是,二进制文件在启动时会收到 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
。
ios - 启动应用程序时的随机信号
一次超过 10 次,从模拟器启动我的应用程序时,我有一个 sigkill。我完全不知道可能出了什么问题,因为我没有做任何事情来关闭应用程序。恐怕这个信号可能会发生在模拟器之外。
这是堆栈跟踪:
你有足够的信息来帮助我吗?
提前致谢
linux - 我可以修改 SIGKILL 的信号处理程序的代码吗
如何修改 SIGKILL 的信号处理程序的代码,以便重新定义 SIGKILL 的 acitin?
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 进程: