我遇到了一个关于Runtime.getRuntime()。exec(String)失败的问题,它在我们的应用程序中创build一个新的进程。 虽然这个代码在sun系统(java 1.4,tomcat 4.0)上成功运行,但是它在Linux上似乎并没有工作。 在linux系统上的configuration是
这里是运行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是
这里是运行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一个新的过程中是否有任何授权问题? 虽然我们已经加倍检查了。
任何指针将不胜感激。