Runtime.getRuntime()。exec(String)无法创build一个新的进程| Java + LINUX

我遇到了一个关于Runtime.getRuntime()。exec(String)失败的问题,它在我们的应用程序中创build一个新的进程。 虽然这个代码在sun系统(java 1.4,tomcat 4.0)上成功运行,但是它在Linux上似乎并没有工作。 在linux系统上的configuration是

  • Linux:Fedora 10,Java版本:1.6,Tomcat版本:5.5

这里是运行TestProcess类作为一个新的过程的代码片段:

process = Runtime.getRuntime(). exec (new String[] {"/bin/sh","-c", "java OcwCommon.OcwProcessController" + " " +action+ " " +Id); 

'process'variables不返回null。 并且没有为新进程创build日志。 因此我们假设它没有被执行。

我使用fsuser运行tomcat,并且在/ etc / profile文件中添加了classpath,path等envvariables。 所以无论何时系统启动,

在创build一个新的过程中是否有任何授权问题? 虽然我们已经加倍检查了。

任何指针将不胜感激。

你为什么跑两次? 我认为该行应如下所示

String [] cmd =“/ bin / sh”,“ – c”,“java OcwCommon.OcwProcessController”+“”+ action +“”+ Id;

process = Runtime.getRuntime()。exec(cmd);

斯图尔特

查询已更新

我遇到了一个关于Runtime.getRuntime()。exec(String)失败的问题,它在我们的应用程序中创build一个新的进程。 虽然这个代码在sun系统(java 1.4,tomcat 4.0)上成功运行,但是它在Linux上似乎并没有工作。 在linux系统上的configuration是

  • Linux:Fedora 10,Java版本:1.6,Tomcat版本:5.5

这里是运行TestProcess类作为一个新的过程的代码片段:

 process = Runtime.getRuntime().exec (new String[] {"/bin/sh","-c" "java OcwCommon.OcwProcessController" + " " +action+ " " +Id); 

'process'variables不返回null。 并且没有为新进程创build日志。 因此我们假设它没有被执行。

我使用fsuser运行tomcat,并且在/ etc / profile文件中添加了classpath,path等envvariables。 所以无论何时系统启动,

在创build一个新的过程中是否有任何授权问题? 虽然我们已经加倍检查了。

任何指针将不胜感激。