在java中查杀进程

时间:2017-09-04 00:04:11

标签: java kill-process

我在杀死进程时遇到了一些问题。我可以杀死可以直接从运行执行的进程(例如:mspaint.exe,calc.exe)但我无法杀死无法从运行执行的进程(例如:wmplayer.exe)

这就是我所做的:

(我能杀的是什么)

public static void main(String[] args) {

    try {    

        Runtime.getRuntime().exec("taskkill /F /IM mspaint.exe ");

    } catch (IOException e) {

        e.printStackTrace();

    }

(我不能杀的是)

try {

        //Runtime.getRuntime().exec("mspaint");

        String process = "C:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe";

        Runtime.getRuntime().exec("taskkill /F /IM process ");

    } catch (IOException e) {

        e.printStackTrace();

    }

2 个答案:

答案 0 :(得分:1)

你正在执行一个命令来杀死一个名为" process"的进程,字面意思。如果要按名称终止进程,则需要为其提供可执行文件名而不是路径。

String process = "wmplayer.exe";
Runtime.getRuntime().exec("taskkill /F /IM " + process);

https://technet.microsoft.com/en-gb/library/bb491009.aspx

答案 1 :(得分:-1)

这样做

try {

        //Runtime.getRuntime().exec("mspaint");

        String process = "C:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe";

        Runtime.getRuntime().exec("taskkill /F /IM " +process );

    } catch (IOException e) {

        e.printStackTrace();

    }