在我的系统上,我无法运行启动进程的简单Java应用程序.我不知道该怎么解决.
你能给我一些如何解决的提示吗?
该计划是:
[root@newton sisma-acquirer]# cat prova.java
import java.io.IOException;
public class prova {
public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("ls");
}
}
Run Code Online (Sandbox Code Playgroud)
结果是:
[root@newton sisma-acquirer]# javac prova.java && java -cp . prova
Exception in thread "main" java.io.IOException: Cannot run program "ls": java.io.IOException: error=12, Cannot allocate memory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)
at java.lang.Runtime.exec(Runtime.java:610)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at prova.main(prova.java:6)
Caused by: java.io.IOException: java.io.IOException: error=12, Cannot allocate memory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)
... 4 more
Run Code Online (Sandbox Code Playgroud)
系统配置:
[root@newton sisma-acquirer]# java -version …Run Code Online (Sandbox Code Playgroud) 我遇到过这两个术语,我对它们的理解似乎相互重叠.Flush与缓冲区一起使用,同步用于讨论文件到磁盘的持久更改.
在C中,fflush(stdin)确保清除缓冲区.并且fsync持久化将文件更改为磁盘.
如果这些概念不是普遍定义的,那就更喜欢linux,java的解释.
我发现了一个相关的帖子,但是我并没有真正回答我的问题.真的在Java中强制文件同步/刷新