当前位置: 首页 > 知识库问答 >
问题:

如果我知道一个Java应用程序中的进程的PID值,我该如何从这个进程中杀死它呢?我在寻找一个交叉平台的解决方案

璩华辉
2023-03-14
Process.kill(pid);

或者我可以编写一种方法来处理(几乎)OS的所有情况?

我所要做的就是终止一个进程,知道它已经是PID了。

共有1个答案

柳宏深
2023-03-14

从Java9开始,就有了processhandle,它允许与系统上的所有进程进行交互(当然受系统权限的限制)。

具体地说,processhandle.of(knownPid)将返回给定PID的processhandle(从技术上讲,是可选的,如果没有找到进程,它可能为空),并且destroydestroy强行将试图终止该进程。

即。

long pid = getThePidViaSomeWay();
Optional<ProcessHandle> maybePh = ProcessHandle.of(pid);
ProcessHandle ph = maybePh.orElseThrow(); // replace with  your preferred way to handle no process being found.
ph.destroy(); //or
ph.destroyForcibly(); // if you want to be more "forcible" about it
 类似资料:
  • 本文向大家介绍请问,如何杀死一个进程?相关面试题,主要包含被问及请问,如何杀死一个进程?时的应答技巧和注意事项,需要的朋友参考一下 考察点:进程 Kill pid  

  • 问题内容: 我是android的新手,我的论文就像android的“ Battery Doctor Saver”一样。我的第一个问题是选择多个应用程序并立即将其杀死。老实说,我已经遇到了第一大问题,但是我的问题是我一次只能杀死一个应用程序。因此,这是我的代码,谢谢您对我的问题的立即答复:)。 问题答案: 创建onButton,然后单击您的kill按钮。从ListView中收集所有选择的按钮及其位置

  • 问题内容: 我已经开始执行以下代码 现在,我需要知道我刚刚开始的进程的pid。 问题答案: 由于Java 9类具有新方法long pid(),因此它很简单

  • 问题内容: 只是一个简单的问题,如果我克隆一个进程,则克隆的进程的PID是相同的,是吗?fork()创建一个子进程,其PID不同,但其他所有事物都相同。Vfork()创建一个具有相同PID的子进程。Exec致力于将当前正在执行的流程更改为其他流程。 我在所有这些陈述中都正确吗? 问题答案: 不完全的。如果通过fork / exec或vfork / exec克隆进程,则将获得新的进程ID。将为您提供

  • 我使用startActivity(Intent)在我的Android应用程序中创建一个新活动。 有可能扼杀其中一项活动吗?如果有,如何扼杀? 我想要这样 Activity4->Activity1->关闭应用程序

  • 问题内容: 例如从bash: 仅杀死父进程。 问题答案: 当您将 负 PID传递给时,它实际上会通过该(绝对)数字将信号发送到过程 组 。您可以在Python中完成与之等效的操作。