0

LAN経由で接続された別のコンピューターでプロセスを強制終了して開始するプログラムを作成しています。プロセスを正常に強制終了できます。tasklist を使用してプロセスをリストし、それを強制終了するには taskkill を使用しました。強制終了されたプログラムを再び開始するには、プロセスのパスを取得する必要があります。

Javaでそれを行う方法はありますか?

4

1 に答える 1

0

パスでプロセスを強制終了することはできないと思いますが、プロセス名または ID でいつでも強制終了できます。

プロセスを強制終了するために使用するものは次のとおりです。たとえば、firefox.exe です。

  1. 次のように VB スクリプトを作成します。

    sub killProcess(strProcessName)
        set colProcesses = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("Select * from Win32_Process Where Name='" & strProcessName & "'")
        if colProcesses.count <> 0 then
            for each objProcess in colProcesses
                objProcess.Terminate()
            next
        end if
    end sub
    
    killProcess "firefox.exe"
    
  2. 上記のスクリプトを Java 経由で実行するには、Process API を次のように使用します。

    Process pr = Runtime.getRuntime().exec(path_to_vbscript_file, null, null);   
    pr.waitFor();
    
于 2012-10-07T17:04:34.387 に答える