开发者社区 问答 正文

Cannot run programkillCreateProcess error2


[ERROR 2016-07-01 13:58:47 c.a.j.u.JStormUtils:694 main] Failed to run kill 4780, java.io.IOException: CreateProcess error=2,
java.io.IOException: Cannot run program "kill": CreateProcess error=2,
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) ~[na:1.7.0_45]
    at com.alibaba.jstorm.utils.JStormUtils.launchProcess(JStormUtils.java:633) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.utils.JStormUtils.launchProcess(JStormUtils.java:679) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.utils.JStormUtils.launchProcess(JStormUtils.java:726) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.utils.JStormUtils.exec_command(JStormUtils.java:242) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.utils.JStormUtils.process_killed(JStormUtils.java:317) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.utils.JStormUtils.kill(JStormUtils.java:327) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.utils.JStormServerUtils.createPid(JStormServerUtils.java:99) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.daemon.supervisor.Supervisor.createPid(Supervisor.java:186) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.daemon.supervisor.Supervisor.run(Supervisor.java:199) [jstorm-core-2.1.1.jar:na]
    at com.alibaba.jstorm.daemon.supervisor.Supervisor.main(Supervisor.java:237) [jstorm-core-2.1.1.jar:na]
Caused by: java.io.IOException: CreateProcess error=2,
    at java.lang.ProcessImpl.create(Native Method) ~[na:1.7.0_45]
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:385) ~[na:1.7.0_45]
    at java.lang.ProcessImpl.start(ProcessImpl.java:136) ~[na:1.7.0_45]
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) ~[na:1.7.0_45]
    ... 10 common frames omitted

展开
收起
aliy_vick 2016-07-01 14:04:27 3784 分享 版权
阿里云 AI 助理回答

这个错误信息表明在运行JStorm(一个分布式实时计算系统)时,遇到了问题。具体来说,错误信息显示无法执行"kill"命令,原因是CreateProcess error=2,这通常意味着系统找不到指定的文件。

在Windows环境下,直接使用"kill"命令可能会导致这样的错误,因为"kill"是Unix/Linux环境下的命令,Windows中对应的命令是"taskkill"。然而,JStorm作为一个跨平台的工具,理论上应该能够处理这种操作系统差异。这里的问题可能是配置不当或环境变量缺失导致的。

解决这个问题可以尝试以下几个步骤:

  1. 检查环境:确认你是在正确的操作系统上运行JStorm。如果是在Windows上,请确保你的开发/运行环境正确配置了处理Unix风格命令的机制,如Cygwin或者Git Bash等。

  2. 更新JStorm版本:你使用的JStorm版本是2.1.1,这是一个较旧的版本。考虑升级到最新版本的JStorm,新版本可能已经解决了类似的操作系统兼容性问题。

  3. 修改代码或配置:如果是因为特定操作(如进程终止)需要在Windows下调整,你可能需要在JStorm的源码或配置中进行适配。例如,可以在调用外部命令的地方,根据操作系统类型选择不同的命令("kill"或"taskkill")。

  4. 检查Java环境:确保你的Java环境正确安装且版本兼容。有时候,Java环境的问题也会导致这类异常。

  5. 查看日志和权限:检查是否有足够的权限执行该操作,以及相关的日志文件,可能会有更多线索指示问题所在。

  6. 环境变量:确认PATH环境变量是否包含了必要的可执行文件路径,比如如果你手动添加了Unix工具到Windows PATH中,确保这些路径被正确设置。

如果以上方法都不能解决问题,建议查阅JStorm的官方文档或社区论坛,看是否有其他用户遇到过类似问题并分享了解决方案。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: