我想从程序内调用命令开另一个进程,而能控制这个进程使用的内存大小,和进程运行的时间..
比如,我规定这个进程内存535K,时间5S,当超过时就将进程结束,返回异常..
我原来是想用EXEC,或者PROCESSBUILD,但JDK文档里好象没有控制内存和时间的函数,所以就有求坛里各位了..
比如,我规定这个进程内存535K,时间5S,当超过时就将进程结束,返回异常..
我原来是想用EXEC,或者PROCESSBUILD,但JDK文档里好象没有控制内存和时间的函数,所以就有求坛里各位了..
解决方案 »
- 求大神帮忙关于布局
- 获取linux系统时间
- mysql数据库小问题
- 项目中数据库统计数问题
- sql查询的问题
- JCheckBox 事件监听的问题
- 设计一个简单的自己的主页或者是网站要给钱吗?
- ////////////高手帮忙JTree!怎么通过一个函数把当前选中的节点的所有子节点都展开,或折叠啊?////////////////////
- objectoutputstream向文件追加对象后,却读不出来了
- 怎么才能装上jbuilder6?
- operator > cannot be applied to java.math.BigDecimal,int怎么解决
- public class a和class a
Java程序的内存管理是由JVM统一负责的。
用EXEC()出来的进程还是由JVM管理吗?
例如.EXEC("DIR/W"),这个进程还是运行在JVM中吗?
就是不能控制运行的内存,和时间.如果超过了就中止,返回异常..
这个很多地方都有例子的..就是ACM的ONLINE JUDGE.我想弄一个这样的..各位有没有方法解决呀..
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size传递给java vm就可以了 java里可以用Runtime.exec("java -Xms ... -Xmx.... ....")
这个方法返回一个Process对象。你就可以使用和控制这个进程了。
如果你要等待这个进程结束可以用Process.waitFor方法。关于你说的超时Process好象是不支持,你可以在一个单独的Thread里面waitFor这个进程。超时间后就interrupt掉这个Thread,这时waitFor会抛出InterruptedException异常。Thread里你可以通过判断waitFor是正常返回还是抛出异常来判断进程是否成功结束。