首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从IIS6运行的Java子进程返回退出值128,不返回stdout/stderr

从IIS6运行的Java子进程返回退出值128,不返回stdout/stderr
EN

Server Fault用户
提问于 2011-05-17 18:46:58
回答 1查看 442关注 0票数 1

我正致力于在测试环境中设置一个新的服务器,几乎所有的东西都能工作,但是Java似乎不能创建一个新的进程。该体系结构的简短版本: Windows 2003,IIS6,ColdFusion 8.0.1 MultiServer和JRun,一切都是64位*。

ColdFusion请求调用一些将R(统计包)作为本机进程运行的Java代码,捕获生成的stdout/stderr,并对其进行一些额外的工作。Java代码似乎没有启动R,尽管没有抛出异常。它运行于所有东西(通过捕获stdout/stderr/exitcode),但它似乎没有调用R可执行文件,stdout/stderr中没有任何内容,Process.exitValue()返回128。

我把R从方程中取出来,只想让代码返回"cmd.exe /c dir“的输出,没有什么变化-- exitValue()仍然返回128。(*我使用的是R2.10.1,它只有32位,但由于我甚至不能运行cmd.exe,所以我认为这与此无关。)

我也认为我已经排除了访问/许可的问题。ColdFusion使用的ColdFusion设置为作为NetworkService运行,但我甚至尝试将标识设置为域管理员,但没有帮助。

我几乎把它发到了StackOverflow上(如果我最终被重定向到那里,也不会被冒犯),但是这个完全相同的代码可以在其他非常相似的环境中工作,这是我们系统中唯一不能在新服务器上工作的部分。

在其他环境中这样做是可行的:

  • Win2003,IIS6,CF801 MultiServer,JRun,所有32位,测试
  • Win2008,IIS7,CF801 MultiServer,JRun,全部64位,测试
  • Win2003,IIS6,CF801 MultiServer,JRun,all 64位,生产

所以我想我的问题如下:

  • 有没有其他人在调用本机进程的Java服务器端应用程序中看到(或者更好的是修复)这种行为?
  • 除了其他日志记录(我已经尝试过)之外,您还可以尝试哪些其他故障排除或诊断步骤?
EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-05-31 20:08:52

因此,我们“解决”了这个问题,杀死了大量的JRun进程。我们认为这个问题与这里描述的问题密切相关:http://www.arcanadev.com/support/kb/K00000329.aspx,因为试图调用java的exec的过程没有可用的桌面堆空间或内存。很奇怪。

其他正确工作的服务器只需同时执行较少的JRun实例即可。因此,我们认为目前的选择是:(1)运行较少的JRun实例;(2)遵循链接文章的建议,以增加可用的桌面堆空间;或(3)升级到2008+。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/270657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档