日期:2014-05-20  浏览次数:20712 次

关于创建进程
现在有一个c++编写的exe,他自己启动运行是正常的。我从java中用创建进程的方法启动这个exe,运行不正常。哪位知道是什么原因?我怀疑是不是因为创建进程时把新的进程当作了java程序的子进程,导致进程权限不够。想问一下各位,如何在创建进程时,把进程作为一个独立的进程,而不是作为子进程启动?

------解决方案--------------------
我觉得不是子进程, 你用java打开个记事本,即使java程序退出了, 记事本也不会关闭的
------解决方案--------------------
进程的输出信息打印出来看看
------解决方案--------------------
的确,你用Java的runtime起的进程都是当前JVM的子进程,若要起系统级别的独立进程在Windows中可以用JNI调用C程序写的起进程的程序,例如用system();方法。
在Unix/Linux中运行写好的启动脚本就行了
------解决方案--------------------
在WIN下 写个BAT,JAVA去调用BAT起C++程序,同样的问题在LINUX下的话,写SHELL,用SHELL起
这样做比较好,也比较MVC的感觉~~
------解决方案--------------------
你那个 exe 是做什么的呀?真的很需要什么特别的进程权限吗?况且,就算是 Java 进程的子进程,权限也不会低到哪儿去呀?……

会不会是启动目录的问题?你用 Java 加载它,跟从操作系统直接启动它,也许就这点区别了……
------解决方案--------------------
有没有清楚内存啊??
有可能内存遗漏了。