java当前进程获取pid

public class PidUtil {
    public final static String OS_NAME = StringUtils.defaultString(System.getProperty("os.name"));
    public static void getCurrentPid() {
        if (!OS_NAME.startsWith("Windows")) return;
        // 获取pid
        String name = ManagementFactory.getRuntimeMXBean().getName();
        // get pid
        String pid = name.split("@")[0];
        System.out.println("Pid is:" + pid);

        String userDir = System.getProperty("user.dir");
        System.out.println(userDir);
        File file = new File(userDir+"\SidecarApplication.pid"); // 创建文件对象,可以再加个异常分析,是否已存在该文件
        // 写入
        try {
            FileWriter fw = new FileWriter(file);// 创建FileWriter类对象
            BufferedWriter bufw = new BufferedWriter(fw);
            bufw.write(pid);// 将字符串数组中的每个元素写入到磁盘文件中
            bufw.close();
            fw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
原文地址:https://www.cnblogs.com/hulian425/p/14522997.html