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

linux - 来自 get_user_pages 的 ERESTARTSYS 和未决的致命信号?

我正在linux上测试一些软件+驱动程序,驱动程序在其内部函数中使用get_user_pages()。在某些时候,我的驱动程序从 get_user_pages() 收到 ERESTARTSYS 错误 (-512),根据内核代码,它发生的原因是“如果我们有一个挂起的 SIGKILL,请不要继续出错页面并可能分配内存。” - 这是来自 memory.c 内核文件的注释。所以我的问题是,我怎样才能看到谁发送了这个 SIGKILL 以及为什么?我试图查看 /var/log/kern.log 文件,但看不到任何信号。我能做些什么?

0 投票
1 回答
847 浏览

linux - PAX 出于某种原因杀死了我的进程。(PAX 用 SIGKILL 终止我的进程)

我不知道为什么 PAX 总是杀死我的进程。平台是powerpc,操作系统是Linux。从内核日志中,我可以看到以下内容:

PAX: 从 147.128.23.67: 执行尝试: , 100a3000-10175000 100a3000 PAX: 终止任务: /mnt/ecim/pau6000agent/bin/agent_z(agent_z):1744, uid/euid: 0/0, PC: 100a318c, SP : bbc85aa0 PAX: PC 上的字节数: 396001fc 4bfffbdc 39600200 4bfffbd4 39600204 gpr_get: 部分寄存器集

谷歌告诉我尝试使用“paxctl -m ./agent_z”或“paxctl -z ./agent_z”,但它们都没有帮助。实际上,“agent_z”没有任何 PAX 标志。所以这真的让我很困惑为什么 PAX 总是杀死 'agent_z'

文件 ./agent_z 没有 PT_PAX_FLAGS 程序头,试试

转换 root@QorIQ:/mnt/ecim/pau6000agent/bin> paxctl -v ./agent_z PaX control v0.5 Copyright 2004,2005,2006,2007 PaX Team文件./agent_z没有PT_PAX_FLAGS程序头,尝试转换

这是我正在使用的 gcc 的信息。此外,正如其他人所建议的,我也尝试在编译时添加 -O1/-O2/-O3 标志,但它们都不起作用。

使用内置规范。目标:powerpc-wrs-linux-gnu 配置:/scratch/jmyers/wrs/4.4a/src/gcc-4.4-wrs/configure --build=i686-pc-linux-gnu --host=i686-pc- linux-gnu --target=powerpc-wrs-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-long-double-128 --enable-targets =all --enable-secureplt --with-cpu-32=603 --with-cpu-64=970 --with-gnu-as --with-gnu-ld --with-specs='%{save-临时工:-fverbose-asm} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:% {!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable- __cxa_atexit --with-pkgversion='Wind River Linux Sourcery G++ 4.4a-341' --with-bugurl=support@windriver.

在此先感谢,非常感谢您的回复。

最好的问候, 蔡俊兆

0 投票
0 回答
109 浏览

ios - systemSoundID 让我的 iPad 崩溃

每当我在模拟器上运行这段代码时,它都能完美运行(听起来很可怕),但是当我在 iPad 上运行它时,游戏冻结了,如果我触摸屏幕,我会收到一个 sigkill 错误

0 投票
1 回答
6414 浏览

unix - SIGKILL 初始化进程(PID 1)

关于将信号 9(SIGKILL)发送到初始化进程(PID 1),我遇到了一个奇怪的问题。您可能知道,不能通过信号处理程序忽略 SIGKILL。当我尝试向 init 发送 SIGKILL 时,我注意到什么也没发生;init 不会被终止。为了弄清楚这种行为,我决定用 strace 将自己附加到 init 进程中,以便更清楚地看到发生了什么。现在是奇怪的部分。如果我用 strace “查看” init 进程并将其发送 SIGKILL,系统就会崩溃。

我的问题是为什么会这样?为什么我查看进程时系统会崩溃,而我不查看时为什么系统不会崩溃?正如我所说,在这两种情况下,我都会向 init 发送 SIGKILL。在 CentOS 6.5、Debian 7 和 Arch 上测试。

谢谢!

0 投票
2 回答
520 浏览

c - 子进程完成后,SIGKILL 将无法停止子进程

我的程序创建 n 个子进程,每个子进程计数(+5)如果超过 100,它会向父进程发送信号,父进程应该杀死这个孩子。我做了这个程序,但它不起作用,它一直在计算第一个孩子,这意味着 SIGKILL 不起作用。

0 投票
2 回答
2501 浏览

c++ - C++:接收 SIGKILL 时如何关闭 tcp 套接字(服务器)

如何在死前关闭套接字?我在 linux 上有一个创建 TCP 服务器的服务。有时我必须重新启动它,我希望套接字真正关闭。目前它挂起。我也知道 SIGKILL 无法处理。谁能指出我正确的方向?

0 投票
1 回答
255 浏览

go - 无法`syscall.Kill()` 一个守护进程

我在 Go 中制作了一个程序来杀死一个进程syscall.Kill()

fork()但是,如果我用+对该进程进行 daeminze,setsid()syscall.Kill()不会终止该进程。

如果我使用 shell kill,那么在这两种情况下我都可以终止该进程。

我尝试了不同的信号:SIGINTSIGTERMSIGKILL它们不会杀死守护进程。

0 投票
0 回答
463 浏览

node.js - 杀死一个子nodejs进程并删除它的目录

我正在创建一个人工智能竞赛,竞争对手可以将他们的人工智能(节点服务器)上传到我们的节点服务器,我们接收他们的代码并以自动化的方式运行它。

在第一次上传代码时,我习惯在 xxx 是他们的端口的地方child_process.spawn()运行。node server.js xxx我将生成的孩子以及竞争对手的 ID 存储在内存中。当他们第二次上传时,我通过竞争对手 ID 搜索我存储的子进程并调用process.kill(pid, 'SIGKILL')该进程。

在我设置的每个生成的孩子上child.on('close', callback)。在此回调中,我想删除我将节点服务器上传到的代码目录,然后复制他们的新代码并再次启动节点服务器。但是,我无法删除代码目录,因为它仍在使用中(我收到 EBUSY 错误),我认为我没有正确杀死节点进程。

这是一个好的方法吗?如果是这样,我做错了什么?

0 投票
1 回答
2288 浏览

postgresql - Postgres SIGKILL 崩溃

仅供参考;这不需要答案。

我在负载很重的 Postgres 服务器上工作,并发出了挂起的 GRANT 命令。它没有被任何其他命令阻止。我有几个打开的连接,并且能够使用普通的 pg_cancel_backend (SIGTERM) 命令杀死几个进程,但是我的 GRANT 命令没有响应该命令或 pg_terminate_backend (SIGINT)。我终于尝试了“kill -9(pid)”(SIGKILL)并且服务器崩溃了。

向数据库服务器进程或 postmaster 发出 SIGKILL 可能会导致崩溃——这是有据可查的。对子进程运行 SIGKILL会使数据库崩溃。

0 投票
0 回答
420 浏览

php - 尝试使用 kill 命令中止运行 cakephp 2 的控制台作业

我无法使用 kill 命令杀死在 cakePHP 中运行的作业。我的作业控制器的索引视图中的表格中显示了一个进程列表,每个正在运行的进程都有一个链接,您可以单击该链接将其终止。

我有这样的事情:

//myApp/app/Views/Jobs/index.php:

然后在 myApp/app/Controller/JobsController.php 中:

然后在 myApp/app/killProcess.sh 中,我有:

但是当我点击杀死一个工作时,它并没有停止。虽然如果我从命令行手动运行命令,它确实会杀死它。根据我的阅读,我认为这可能与没有 sudo 权限有关,现在基于我尝试更改代码

myApp/app/killProcess.sh 到:

然后重试它,但这也不起作用。

我怎样才能让它工作?任何帮助将非常感激。