猿问

我自己现在有两个思路,请大佬帮忙分析分析

我自己现在有两个思路 1 Runtime.getRuntime().exe("cmd /c tasklist"); 2 sigar.jar 
  问题在于:第一种方式不稳定,而且这种方式如何在非windows系统下实现? 
            第二种方式,需要依赖dll文件和so文件,而且这些文件必须部署到jdk\bin,这样很不方便。 
  请教高手:1 可还有别的更好的思路? 
            2 第一种方式如何在非windows下实现 
            3 第二种方式,这些文件能不能不放到jdk\bin,而放到别的地方,用批处理指定路径也行。怎么做呢?

米脂
浏览 115回答 2
2回答

慕娘9325324

//简单地得到windows进程&nbsp;&nbsp;&nbsp;#include&nbsp;&nbsp;&nbsp;<windows.h>&nbsp;&nbsp;&nbsp;#include&nbsp;&nbsp;&nbsp;<tlhelp32.h>&nbsp;&nbsp;&nbsp;#include&nbsp;&nbsp;&nbsp;<stdio.h>&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;&nbsp;main()&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROCESSENTRY32&nbsp;&nbsp;&nbsp;p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HANDLE&nbsp;&nbsp;&nbsp;h;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.dwSize=sizeof(p);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process32First(h,&p);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&nbsp;"id=%.8x&nbsp;&nbsp;&nbsp;exename=%s\n&nbsp;",p.th32ProcessID,p.szExeFile);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;&nbsp;&nbsp;(Process32Next(h,&p));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(h);&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;

烙印99

这个 这样做的 是 只可以取到windows的&nbsp;楼主可以使用&nbsp; snmp协议 来扫描,这个不同系统是没问题的
随时随地看视频慕课网APP

相关分类

Java
我要回答