首页 / 缓存 / 无法通过Java清空Linux缓存
无法通过Java清空Linux缓存
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了无法通过Java清空Linux缓存,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1110字,纯文字阅读大概需要2分钟。
内容图文
好的,这是我的代码:
String[] commands = {"sync && echo 3 > /proc/sys/vm/drop_caches"};
Process pr = Runtime.getRuntime().exec(commands);
pr.waitFor();
我得到:
Exception in thread "main" java.io.IOException: Cannot run program "sync && echo 3 > /proc/sys/vm/drop_caches": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:483)
at MyTest.main(MyTest.java:896)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
我复制在命令行粘贴相同的字符串,我认为效果很好.
问题是什么?我正在使用Ubuntu 11.10.谢谢
解决方法:
好的,您的命令正在使用shell的功能(&&和>重定向),因此您需要在shell中运行该命令.即您需要跑步
/bin/sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
您可以通过将此作为命令来执行
String[] commands = {"/bin/sh", "-c" , "sync && echo 3 > /proc/sys/vm/drop_caches"};
内容总结
以上是互联网集市为您收集整理的无法通过Java清空Linux缓存全部内容,希望文章能够帮你解决无法通过Java清空Linux缓存所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】