在JAVA程序中如何取得自身的进程号(PID)
============================
需求如题,不再赘述。
在JDK1.5以上版本,自带了一个工具jps.exe,可以帮助我们达成目标,简单测试代码如下:
import java.io.*;
public class JpsTest{
public static void test(){
String jps = "bin\\jps.exe";
try{
Process p = Runtime.getRuntime().exec(jps);
InputStream in = p.getInputStream();
InputStreamReader reader = new InputStreamReader(in, "UTF-8");
BufferedReader br = new BufferedReader(reader);
String inStr = null;
StringBuffer sb = new StringBuffer("");
while( (inStr = br.readLine()) != null ){
sb.append(inStr + "\r\n");
}
System.out.println(sb.toString());
int count = 30;
while(count-->0){
try{
Thread.currentThread().sleep(1000);
}catch(Exception ex1){
ex1.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
JpsTest.test();
}
}
在WinXP SP2上执行结果如下:
J:\>java JpsTest
740 JpsTest
3188 TCPMon
764 Jps
第一列是PID,第二列是程序名,根据程序名取出对应的PID即可。
JPS依赖 JDK_HOME\lib\tools.jar,如果是只在JRE环境下运行,需要把 JDK_HOME\bin\jps.exe 和 JDK_HOME\lib\tools.jar 分别复制到JRE_HOME\bin 和 JRE_HOME\lib下。对于有些对程序大小要求比较高的系统,可以给tools.jar瘦身,我不完全测试的结果如下:
tools.jar中只保留如下内容即可:
sun\jvmstat\ 下所有内容
sun\tools\jps 下所有内容
========================================
其实不用jps.exe也可以,只要执行:
J:\>java -cp lib\tools.jar sun.tools.jps.Jps
3188 TCPMon
3272 Jps
分享到:
相关推荐
功能:获取java进程pid 进程可根据该pid调用exec自杀 注意事项:不能改变PidTool.java所在的包,否则需要重行生成dll。 编译命令中 "-PidTool.dll" 改为 "-FePidTool.dll",我整漏了! 使用方法: 1.javac PidTool...
java 获取指定java 获取指定的进程id的进程id
java通过sigar获取进程的相关信息 ,包含各个进程的PID、名称、CPU使用率、所占内存大小等
java创建进程,及根据命令行、pid删除进程
易语言纯代码取 进程PID 进程句柄 进程模块句柄(CE查找的进程名加偏移就相当于模块句柄加偏移)
使用PID进程识别号强制进行关闭进程 方法如下: 一、打开“运行”,输入CMD,打开一个模拟的DOS窗口。 二、输入ntsd -c q -p Pid 其中Pid所要关闭的程序的进程数,WINDOWSXP下查看方法为,打开任务管理器->查看--&...
自己编写的 PID 程序 有很高的参考价值
ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程。用法为打开cmd 后输入以下命令就可以结束进程...在CMD下输入TASKLIST就可以获取当前任务管理器所有进程的PID(并不是所有的exploer.exe进程都是1332)
根据进程名查pid根据进程名查pid根据进程名查pid根据进程名查pid根据进程名查pid根据进程名查pid根据进程名查pid根据进程名查pid根据进程名查pid
mac下根据pid查看程序真实路径
易语言枚举进程PID源码,枚举进程PID,子程序_枚举进程,子程序_取窗口句柄,EnumWindowsProc,FindWindowEx,GetWindowText,GetClassName,CreateToolhelp32Snapshot,Process32First,Process32Next,CloseHandle,...
该代码为windows下遍历进程并输出进程名,PID,进程路径,由C++编写,运行成功
QT 获取 进程名、PID、CPU时间、内存、用户对象、GDI对象,获取盘符的容量和监控硬盘的插拔
用vb写的进程管理程序,虽然简单,但是实现方法很实用。可以得到系统的进程名及PID,并且可以关闭进程。
以下是一个简单的 C 语言程序,演示了如何使用进程标识符(PID):以下是一个简单的 C 语言程序,演示了如何使用进程标识符(PID):以下是一个简单的 C 语言程序,演示了如何使用进程标识符(PID):以下是一个简单...
根据端口号、pid号 获取程序名称、程序路径的信息 主要通知cmd.exe的 netstat -ano、netstat -aon |findstr 80、wmic process get name,executablepath,processid|findstr 80。三个指令调用主机底层指令的。 适合...
vs2010代码,支持获通过PID 获取32位,64位程序路径
SuperPid修改进程PID工具界面是VB些的,底层驱动是C语言写的。作者提供源代码,可惜源代码要180元....如今先拿他的成品软件用用 。还有次工具 别名为 "SP伪装进程"。说白了和 他之前的SuperHide差不多,只是SuperPid...
.版本 2 .支持库 eAPI 进程信息数组 = 取系统进程列表 () .计次循环首 (取数组成员数 (进程信息数组), n) .... PID = 进程信息数组 [n].进程标识符 跳出循环 () .如果真结束 .计次循环尾 ()
本篇文章主要介绍了Java如何获取当前进程ID以及所有Java进程的进程ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下