Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用命名的PID启动Java程序_Java_Solaris_Startup - Fatal编程技术网

使用命名的PID启动Java程序

使用命名的PID启动Java程序,java,solaris,startup,Java,Solaris,Startup,我想在solaris框中使用命名的PID进程id启动java程序。 在启动为我的程序生成的任何PID时,我希望它预先添加一个字符串,以便以后我可以识别这个特定的程序并关闭它 e、 g.如果生成的PID为1234,我想将其创建为EventListener\u PID\u 1234您可以搜索tasklist.exe以找到您的程序名,然后获取程序名的PID,然后您可以很容易地终止它。这里是一个查找与chrome browser相关的所有进程的示例 public static void main(S

我想在solaris框中使用命名的PID进程id启动java程序。 在启动为我的程序生成的任何PID时,我希望它预先添加一个字符串,以便以后我可以识别这个特定的程序并关闭它


e、 g.如果生成的PID为1234,我想将其创建为EventListener\u PID\u 1234

您可以搜索tasklist.exe以找到您的程序名,然后获取程序名的PID,然后您可以很容易地终止它。这里是一个查找与chrome browser相关的所有进程的示例

  public static void main(String[] args){
    // TODO code application logic here
try {


    String processrow;

    Process p = Runtime.getRuntime().exec(System.getenv("windir")+"\\system32\\"+"tasklist.exe");

    BufferedReader input =
            new BufferedReader(new InputStreamReader(p.getInputStream()));

    String[] process;

    while ((processrow = input.readLine()) != null) {

        //System.out.println(processrow); to display all tasklist.exe processes table

        process = processrow.split("\\s+");

        if(process[0].equalsIgnoreCase("chrome.exe")) // index 0 hold the program name 
        {
        System.out.println(process[1]); // index 1 hold the program PID assign by theOS 

        }


    }
    input.close();

    // your process killing code gose here
} catch (Exception err) {
    err.printStackTrace();
}

}

PID是一个数字而不是字符串,您无法更改它。如果您想找到PID,请使用jps-LVMPID是由操作系统设置的,Java也无法控制它,我想要实现的是用特定的东西标记我的进程,这样以后我就可以从运行在同一个盒子上的许多其他java进程中识别出该进程来终止它。我不想运行另一个java程序来终止我的特定进程。应该有一些unix命令,使用它我应该能够知道刚刚启动的java pragram的PID,并将其保存在某个地方,以便稍后我可以接收该PID并杀死它。