问题标签 [kill]
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.
c# - 在 C# 中管理 COM 对象
我有一个从 C# 调用的 ATL COM exe。我将引用导入到 C# 中,一切正常,生成了 exe,我可以在其上调用函数。现在,我实例化了其中几个 COM 对象。偶尔其中一个会挂起。释放 COM 对象没有任何作用,因为它仍在运行。我无法终止该过程,因为然后我会丢失所有其他表现良好的对象。所以,
- 有没有办法真正杀死一个人?
- 有没有办法为每个请求的 com 对象启动一个 exe?
- 如果我的客户端意外退出,COM exe 永远不会被清理。有没有什么办法解决这一问题?
理想情况下,我将能够为每个对象实例启动一个 COM exe,并能够对其进行 Process.Kill()。是否可以选择其中任何一个?下面是我用来创建对象的类,在这种情况下,RandomID()(人为地)需要很长时间才能返回。另外,如果有办法用另一种语言做到这一点,我也愿意尝试一下。谢谢。
编辑:看起来如果我可以将其设置为“单次使用”,一切都会按我的意愿工作。但是,我找不到在 VS 2008 中设置此选项的位置
编辑:在谷歌群组上找到答案
linux - Linux上进程的kill -9怎么可能没有效果?
我正在编写一个插件来在您访问网站时自动突出显示文本字符串。就像高亮搜索结果一样,但是是自动的,并且适用于许多单词;它可以用于过敏症患者,让文字真正脱颖而出,例如,当他们浏览美食网站时。
但我有问题。当我尝试关闭一个空的、新鲜的 FF 窗口时,它会以某种方式阻止整个过程。当我终止进程时,所有窗口都消失了,但 Firefox 进程仍然存在(父 PID 为 1,不听任何信号,有很多资源打开,仍然占用 CPU,但不会让步)。
所以两个问题:
一个进程怎么可能不听kill -9(既不是用户也不是root)?
除了重新启动,我能做些什么吗?
[编辑] 这是有问题的过程:
与ps -ef | grep firefox
这是唯一剩下的过程。如您所见,它不是僵尸,它在奔跑!它不听kill -9,无论我是按PID还是名称杀死!如果我尝试与 连接strace
,那么strace
也会挂起并且无法被杀死。也没有输出。我的猜测是 FF 挂在一些内核例程中,但是哪个?
[EDIT2] 根据 sigjuice 的反馈:
可以向您显示进程挂起在哪个内核例程中。就我而言,有问题的插件是 Beagle Indexer (openSUSE 11.1)。禁用插件后,FF 又是一只又快又快乐的狐狸了。
python - 如何安排进程的终止?
我需要运行一个进程,等待几个小时,杀死它,然后重新启动它。有没有一种简单的方法可以使用 Python 或 Bash 完成此任务?我可以在后台运行它,但是如何识别它以使用 kill 呢?
linux - 是什么杀死了我的进程,为什么?
我的应用程序在 Linux 上作为后台进程运行。它当前在终端窗口的命令行中启动。
最近一个用户执行了一段时间的应用程序,它神秘地死了。文本:
被杀
在终端上。这发生了两次。我问是否有人在不同的终端使用 kill 命令杀死进程?不。
Linux 在什么情况下会决定终止我的进程?我相信 shell 显示“killed”是因为进程在收到 kill(9) 信号后死亡。如果 Linux 发送了终止信号,系统日志中是否应该有一条消息解释它为什么被终止?
linux - 当操作系统杀死你的进程时返回代码
我想测试是否通过多个进程我能够在 32 位操作系统上使用超过 4GB 的内存(我的:带有 1GB 内存的 Ubuntu)。
因此,我编写了一个 malloc 略小于 1GB 的小程序,并对该数组执行了一些操作,并运行了该程序的 5 个实例 vie forks。
问题是,我怀疑操作系统杀死了其中的 4 个,只有一个幸存下来并显示它是“PID:我已经完成”)。
(我用小数组尝试过,打印了 5 次,当我用 TOP 查看正在运行的进程时,我只看到一个实例..)
奇怪的是 - 我在所有实例中都收到了返回代码 0(成功?),包括那些据称被操作系统杀死的实例
我没有得到任何说明进程被杀死的消息。
这个返回码在这种情况下正常吗?
(如果是这样,它会降低我对“返回码”的信任......)
谢谢。
编辑:一些答案暗示了小程序中可能存在的错误,所以在这里。分叉和保存返回码的较大程序较大,我无法在这里上传它,但我认为(并希望)它很好。
我还注意到,如果不是使用我的分叉程序运行它,而是使用终端运行它,使用 './a.out & ./a.out & ./a.out & ./a.out &' (当./a.out 是附加的小程序的二进制文件)我确实看到了一些“Killed”消息。
c - 我应该怎么做才能在 C 中修改我的 fork() 以使其运行良好?
我不明白为什么我的代码不起作用。
这是我的代码。我不知道为什么我得到一个错误段。有人可以向我解释原因吗?
perl - 当主脚本被杀死时,如何杀死 Perl 的“系统”调用?
以前对这个问题的回答主要集中在分叉上:
对于这个问题,我只是询问对“系统”功能的调用。
假设我有一个名为sleep.pl的脚本:
然后我有一个名为kill.pl的脚本
我运行 kill.pl 并使用 ps 我找到了 kill.pl 的进程 ID 并杀死它(不使用 kill -9,只是正常杀死)
sleep.pl 还在睡觉。
我想我的问题的解决方案涉及一个 SIG 处理程序,但是我需要在处理程序中添加什么来杀死子进程?
windows - 在 Windows 中切断/终止 tcp 连接
我想看看程序在连接断开时如何响应。除了禁用网卡之外,有没有办法在 Windows 中切断 tcp 连接而不杀死进程或拥有连接的线程?
java - 以给定的执行时间启动线程
我的主进程调用了一个外部库方法。此方法有时会挂起。我无法修复外部库,因为另一家公司负责它。
我想使用一个线程来调用具有定义的执行计时器的库。当方法调用需要很长时间时,放置方法调用的具有 Runnable 的线程应该停止,主进程应该继续前进。
- 主线程等待
- 执行线程
- start 启动定时器线程
- 当计时器线程完成时,杀死执行线程
- 执行线程停止主
- 线程恢复
有人有这个逻辑的代码,我可以使用的设计模式或我可以阅读一些信息的互联网页面吗?
谢谢
multithreading - 杀死 JavaME 1.2 线程的最佳实践?
问:WorkerThread
我很想知道在 Java 1.2中终止作为后台线程(让我们称之为这个线程)运行的长期操作的最佳实践。
设想
具体来说,我正在为 Blackberry 设备开发一个应用程序,通过该应用程序进行 HTTP 连接。大图:如果将 URL 请求转发到后台线程 ( WorkerThread
),则该线程发出请求并使用回调返回结果。
场景详情
现在存在这样一种情况,即在连接时存在数据连接,但由于某种原因(驱动通过隧道),该连接不再存在。由于 Blackberry 设计架构的限制,实际连接将挂起,因为超时固定为 2 分钟。因此,迫切需要终止已挂起相对(15 秒)长一段时间的连接。
我当前的解决方案 - 2 Theads?
现在我目前的解决方案是WorkerThread
在另一个线程中运行(让我们称之为这个新线程MonitorThead
)。MonitorThread
开始WorkerThread
,休眠 1000 毫秒,然后定期检查是否WorkerThread
还活着。如果 15 秒后 WorkerThread 仍然存在,MonitorThread 将 WorkerThread 置于睡眠状态并退出。这真的是最好的方法吗?
问题总结及要点
总之,以下是与该问题相关的核心问题和关键限制。干杯!
如何成功杀死卡在特定操作中的 java 后台线程?
场景限制:
- 无法控制操作暂停并检查线程请求状态
- 特定于 Blackberry 的 Java ME 1.2 实现及其 线程 API,因此没有显式 的kill()方法
- 最关心的是最佳实践以及如何最安全地杀死持有线程。
跟进/编辑
Neil Coffey 建议我只保留对连接对象的引用,然后在该对象上调用close()。我目前正在研究这个...