Runtime.exec()在solaris下执行命令的时候抛出IOException,如何解决?

feelmyway 2007-08-09 09:36:37
问题描述:我创建了两个TimerTask每隔30分钟会监控一次系统的硬盘,cpu等信息,主要是利用Runtime.exec("df -k")等命令来查看系统信息。但是发现这个程序跑了几天之后就出现了以下异常:
-java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:429)
at java.lang.Runtime.exec(Runtime.java:326)
...
我每次执行完命令之后会把这个process kill掉,照道理应该能够释放其资源的啊。系统的swap情况如下:
swap 333544 2728 330816 1% /tmp
swap 330872 56 330816 1% /var/run
...全文
177 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧