文档章节

tasklist的坑

s10241024s
 s10241024s
发布于 2016/03/28 10:58
字数 369
阅读 71
收藏 0

java 下想看系统中的进程,一般上网看,都会提出Runtime.executeCommand方式来执行tasklist,然后在返回结果中取得字符串,再找出进程ID。


其实早想到这种shell方式一定有问题,没想到这么多问题

坑1: windows系统非常自以为是,当执行速度过慢时,默认开启动“预读”功能,大概是将内存块直接写成文件,当执行时再取回填入内存。但它擅自将文件名连后缀改成了大写。当然windows 自己是不区分大小写的,但java区分。测试时测不出来,非要很慢的机器,在一定机率下会出。

坑2:想把一个系统做好很难,想搞坏一部分也很难。由于网上提供的情报,10多种情况,会造成RPC服务器出错,导致tasklist不能执行。在命令行下输入tasklist直接报错,程序就更不行了。暂时无解。

坑3:想不到的是,当轮询执行tasklist时,会有一定机率说找不到某个进程,但在任务管理器看时确有,而再执行tasklist又找到了。其成因还不清楚,暂时让其两次确认找不到才返回找不到,机率减至很低。


另找到wmic来执行,但未能测试坑2/3的情况,想造一个RPC不可用也很难。

© 著作权归作者所有

s10241024s
粉丝 5
博文 9
码字总数 2939
作品 0
海淀
技术主管
私信 提问
加载中

评论(0)

Java中获取Win7的进程列表

如何在Java中获取Win7的进程列表?在网上看到过很多答案,但都没执行成功: Process ps = Runtime.getRuntime().exec("tasklist.exe /fo csv /nh"); Process ps = Runtime.getRuntime().exec......

Zac90
2015/04/26
555
1
Windows下如何查看某个端口被谁占用

Windows下如何查看某个端口被谁占用 一、查看那个端口被调用 我告诉大家一个方法,^_^。 1、 开始—->运行—->cmd,或者是window+R组合键,调出命令窗口; 2、输入命令:netstat -ano,列出所...

优惠券活动
2018/08/30
0
0
Ant自定义的task中嵌套元素

简述如何在Ant自定义的task中嵌套元素.通过定义add方法将嵌套task加到自定义的task里面. 被嵌入的task: public class InnerTask extends Task { public void execute() throws BuildExcepti...

晨曦之光
2012/04/25
1K
0
javaService注册服务后执行windows命令获取不到环境变量

我java中执行命令行根据进程号查看进程是否存在,做一个守护进程,然后再用javaService 注册为服务,注册后无法执行windows的命令tasklist,报错tasklist不是内部命令...

墨缘
2017/11/06
222
1
Windows下查看进程及结束进程命令

Windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3500 可知,进程号为3500的进程占用了8080端...

roockee
2014/12/17
181
0

没有更多内容

加载失败,请刷新页面

加载更多

如何添加或更新查询字符串参数?

使用javascript,如何将查询字符串参数添加到url(如果不存在)或如果存在,则更新当前值? 我正在使用jquery进行客户端开发。 #1楼 我已经扩展了该解决方案,并将其与我发现的另一个解决方案...

技术盛宴
19分钟前
49
0
恭喜你,Get到一份 正则表达式 食用指南

先赞后看,养成习惯 前言 正则表达式 正则表达式: 定义一个搜索模式的字符串。 正则表达式可以用于搜索、编辑和操作文本。 正则对文本的分析或修改过程为:首先正则表达式应用的是文本字符串...

鹿老师的Java笔记
20分钟前
40
0
《 Python编程快速上手:让繁琐工作自动化》分享下载

书籍信息 书名:《 Python编程快速上手:让繁琐工作自动化》 原作名:Automate the Boring Stuff with Python: Practical Programming for Total Beginners 作者: Albert Sweigart 豆瓣评分...

开始以后_
22分钟前
63
0
Java--代码执行顺序(静态初始化块,初始化块,构造函数)

先上结论 执行顺序:先执行静态初始化块,然后时初始化块,最后是构造函数 书写格式: 注意事项: 1. 静态初始化块   静态初始化块只在类首次加载时执行一次,同时静态初始化块只能给静态变...

fairy1674
26分钟前
39
0
第八课:《Linux就该这么学》课堂笔记

“工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时的快感,绝不能尝到从心底涌出的惊喜和快乐,但来自工作的喜悦并不像糖果那样—放进嘴里就甜味十足,而是需要从苦劳与艰辛中...

宣城热点科技
26分钟前
73
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部