问题标签 [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.

0 投票
2 回答
19646 浏览

java - 如何向正在运行的 Linux 进程发送 Ctrl-Break?

我正在调试在 Sun 的 JDK 1.4.2_18 上运行的应用程序中的内存泄漏。这个版本似乎支持命令行参数 -XX:+HeapDumpOnCtrlBreak,这可能会导致 JVM 在遇到控制中断时转储堆。如何将其发送到 Linux 机器上的后台进程?看来 kill 信号是应该起作用的方式,但是我 kill -l 没有报告任何明显是 Ctrl-Break 的东西,至少在我的 Ubuntu 机器上是这样。

更新:我用 Sun JDK 1.4.2_18 测试了 Kill -3(_14 是第一个以这种方式转储堆的),并且它有效。创建了一个堆转储文件,并且该进程仍在运行。

0 投票
2 回答
89792 浏览

windows - 如何使用 VBScript 终止进程

我有这个 VBScript 代码来终止一个进程

它适用于某些进程,但是当涉及在 SYSTEM 下运行的任何进程时,它无法停止它。

我需要添加什么来杀死 SYSTEM 下的进程吗?

0 投票
4 回答
14101 浏览

c++ - 如何杀死程序的所有进程?

我写了一个程序,用 fork() 分叉一些进程。如果出现错误,我想杀死所有子进程和母进程。如果我使用 exit(EXIT_FAILURE) 只有子进程被杀死。

我正在考虑一个系统(“killall [program_name]”),但必须有更好的方法......

谢谢你们!伦纳特

0 投票
2 回答
8004 浏览

cocoa - Mac OS X:从 Cocoa 应用程序中杀死/退出整个进程树的最快方法

我知道对此有很多问题和答案,但我正在寻找一种有效且强大的解决方案。我需要从 Cocoa 应用程序中终止一个进程及其所有子进程。我得到了进程 ID,我要编写的代码是像这样执行 kill 命令

从我的应用程序中......但这对我来说似乎非常糟糕和残酷。没有更好的解决方案吗?Carbon 的 KillProcess() 和它的 Process Manager 朋友似乎没有多大帮助,除非我自己构建一个流程树表示。我错过了什么吗?

我还有一些代码可以根据 PID 发送退出 Apple 事件。如果能够将其发送到由父进程定义的树中的每个进程,自下而上,那就更好了。但这只是锦上添花。第一个问题的答案得到“点”。

0 投票
5 回答
29540 浏览

python - 如何在 Python 中获取进程列表?

如何在 Unix 上从 Python 获取所有正在运行的进程的进程列表,其中包含命令/进程的名称和进程 ID,以便我可以过滤和终止进程。

0 投票
6 回答
3212 浏览

java - 在Java中立即杀死线程

是否可以在不引发异常的情况下杀死 Java 线程?

这仅用于测试目的-我想模拟整个计算机在线程中死机的情况。

注意 - 我看到了一个不推荐使用的Thread.destroy()方法,但文档说它从来没有被实现过。

0 投票
4 回答
8217 浏览

c# - 如何在 WXP(和更新的 MSWindows)上使用 C# 终止所有 [grand] 子进程

问题:如何确定子进程树中的所有进程以杀死它们?

我有一个用 C# 编写的应用程序,它将:

  1. 从服务器获取一组数据,
  2. 生成一个 3rd 方实用程序来处理数据,然后
  3. 将结果返回给服务器。

这工作正常。但是由于运行会消耗大量CPU 并且可能需要长达一个小时,我想添加让我的应用程序终止其子进程的功能。

使我在其他地方找到的简单解决方案的一些问题是:

  • 我的应用程序的子进程“A”(我认为是 InstallAnywhere EXE)产生了真正的处理应用程序“B”(一个java.exe),这反过来又产生了更多的子进程“C1”..“Cn”(其中大部分也是用爪哇)。
  • 在同一台机器上可能会运行我的应用程序的多个副本(因此,它的多个子集)。
  • 子进程不在我的控制范围内,因此将来可能会有一些“D”进程。
  • 我的应用程序必须在 32 位64 位版本的 MSWindows 上运行。

从好的方面来说,没有数据丢失的问题,只要进程很快结束,“干净”的关闭就没有关系。

0 投票
6 回答
2100 浏览

windows - 如何在本机 Windows 程序中实现终止开关

我们的程序在某些情况下可能会挂起,有没有办法在不使用任务管理器的情况下通过 Windows 调用搜索和销毁您自己的程序。将其包含在程序本身中可能没有意义,但作为捆绑的东西没有人会看到。

执行此操作的最佳方法是什么,我需要挖掘多深才能停止我的程序以及我应该保持多浅以确保不会使操作系统崩溃?

0 投票
4 回答
2373 浏览

.net - 程序终止自己的进程的正确方法是什么(Windows)

C# .NET 3.5

我有一个控制台应用程序正在被计算机上的另一个应用程序调用。此控制台应用程序持续运行,并从“父”进程侦听标准输入上的数据。

但是,当父级停止或终止时,它启动的控制台应用程序会继续运行。在正常情况下,它使用最少的资源等待来自标准输入的输入。但是,一旦父级离开,这个控制台应用程序就会使 CPU 达到峰值,并以接近 100% 的利用率使其运行的内核饿死。这一直持续到我手动终止该进程。

理想情况下,调用父母会自行清理,特别是因为这是在正常(非异常)“停止”条件下发生的。不幸的是,这个父进程不在我的掌控之中。

我的第一个想法是从控制台应用程序中获取调用父级,并监视其 PID。如果父进程消失,控制台应用程序将自行终止。目前,我正在这样做:

虽然这只是部分起作用 - 它阻止了 CPU 峰值,但如果我从 Sysinternals 精彩的进程监视器查看我的进程,我可以看到 DW20.exe 正在运行 - “Microsoft 应用程序错误报告”程序。它只是......坐在那里,控制台应用程序保留在内存中。

我应该在这里做什么来正确终止进程以避免这种持续的 CPU 峰值和未释放的内存?最终,这需要在没有干预的情况下运行。

PS 我在这里使用命令行应用程序作为“长时间运行的程序”而不是 Windows 服务或 Web 服务,因为父程序只能配置为执行它通过标准输入传递数据的命令行应用程序。(对于那些好奇的人,这是 ejabberd,使用外部身份验证)。

编辑:

等待标准输入输入的代码是:

我之前提到过,当父级终止时,控制台应用程序在 CPU 上变得疯狂。我从 Visual Studio 中为它附加了一个调试器,事实上,它仍然位于 Console.In.Read 这条线上。理论上,当自我监控计时器触发并看到父级消失时,它会在另一个线程在该 Read() 行上时尝试 System.Environment.Exit(0)。

0 投票
6 回答
12783 浏览

vb.net - 杀死正在运行的应用程序

应用程序应该杀死自己在vb.net中怎么办?在这种情况下请帮助我...