我有这个过程的ID(pid) 现在我想知道具有此id的进程何时开始。
注1:该进程不是java线程。 注2:欢迎JNA解决方案
从我的java上下文中我想获得这些信息 怎么办呢?
更新:见注2。
答案 0 :(得分:1)
在linux上(我正在运行Ubuntu 14)
public class SO {
public static void main(String[] args) throws Exception {
System.out.println(getStartTime(29489));
}
private static String getStartTime(int pid) throws IOException {
String start = null;
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("ps -ewo pid,lstart");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
line = line.trim();
if (line.startsWith(pid+" ")) {
int firstSpace = line.indexOf(" ");
start = line.substring(firstSpace+1);
break;
}
}
return start;
}
}
<强>输出强>
2016年4月13日星期三21:13:10
通过命令行验证
xxx@xxx:~$ ps -ewo pid,lstart | grep 29489
29489 Wed Apr 13 21:13:10 2016