资讯专栏INFORMATION COLUMN

JAVA获取进程PID

jas0n / 2331人阅读

摘要:用语言编程时,可以用函数获取进程的,但在中,居然没有提供可以直接获取进程的方法,不知公司是怎么想的。下面提供一种在程序中获取当前程序的方法。

用C语言编程时,可以用getpid()函数获取进程的PID,但在JAVA中,居然没有提供可以直接获取进程PID的方法,不知SUN公司是怎么想的。虽然在JAVA编程时很少用到PID,但有时为了能够在Linux下把一个在后台运行的JAVA应用程序终止,可能需要用到PID,当然,终止后台运行的JAVA应用程序的方法很多,找到它的PID,通过kill -9 pid命令去杀死它是其中一种方法。下面提供一种在JAVA程序中获取当前程序PID的方法。

import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;

public class JavaPID {
    public static void main(String[] args) {
        RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
        String name = runtime.getName();
        System.out.println("当前进程的标识为:"+name);
        int index = name.indexOf("@");
        if (index != -1) {
            int pid = Integer.parseInt(name.substring(0, index));
            System.out.println("当前进程的PID为:"+pid);
        }
        try {
            //这里休息60秒,是为了在windows管理器查看该应用程序的进程PID
            Thread.sleep(60*1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
  

控制台输出如下:
当前进程的标识为:6916@lidonghao-PC
当前进程的PID为:6916

打开Windows的资源管理器,可以看到当前运行的JAVA应用程序的PID,如下:

这样,获取到当前JAVA应用程序的PID后,就可以直接把PID写到一个临时文件中,需要关闭该应用程序时,直接手动执行kill -9 pid命令,或者写一个shell脚本,在脚本中执行kill命令。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64026.html

相关文章

  • Java获取当前进程ID以及所有Java进程进程ID

    摘要:获取当前进程以及所有进程的进程首先是获取当前运行的进程,这个是网上常见的,也就是程序自身将进程打印出来是一个在运行时管理和监控的工厂类,它能提供很多管理的静态接口,比如是虚拟机的运行时管理接口获取所有正在运行着的进程获取监控主机取得所有在活 Java获取当前进程ID以及所有Java进程的进程ID 首先是获取当前Java运行的Java进程ID,这个是网上常见的,也就是Java程序自身将...

    roland_reed 评论0 收藏0
  • Java获取当前进程ID以及所有Java进程进程ID

    摘要:获取当前进程以及所有进程的进程首先是获取当前运行的进程,这个是网上常见的,也就是程序自身将进程打印出来是一个在运行时管理和监控的工厂类,它能提供很多管理的静态接口,比如是虚拟机的运行时管理接口获取所有正在运行着的进程获取监控主机取得所有在活 Java获取当前进程ID以及所有Java进程的进程ID 首先是获取当前Java运行的Java进程ID,这个是网上常见的,也就是Java程序自身将...

    stormzhang 评论0 收藏0
  • Java进程CPU占用率100%问题排查

    摘要:指的是占用了一个核心,两个核心是,以此类推。占用率及对应进程可以通过命令确定,在界面按显示完整的命令行参数,按显示每个核心的统计数据。查看线程堆栈,找到对应的类及行号,然后阅读代码查找可能的问题原因。 100%指的是占用了CPU一个核心,两个核心是200%,以此类推。CPU占用率及对应进程ID(pid)可以通过top命令确定,在top界面按 c (显示完整的命令行参数),按 1 (显示...

    cyrils 评论0 收藏0
  • java获取指定进程的stat

    读取/proc/{pid}/stat /** * Get CPU stat of specified process. * @param pid Process ID * @return null may be returned if some unexpected things happens */ public static long[] get...

    Vixb 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<