Apache Common Daemons:PrunServ --StartPath 参数覆盖 windows 上的 PATH
Apache Common Daemons : PrunServ --StartPath parameter overriding PATH on windows
我正在 运行在 windows 10 工作站上安装 java 程序。
我想 运行 我的 java 程序作为服务,所以我使用了 apache commons 工具 p运行serv
http://commons.apache.org/proper/commons-daemon/procrun.html
问题是我的 java 程序 运行 里面有一些 windows shell 命令就像 cmd \c netstat -rn
但是当我开始我的 java作为服务程序并将 StartPath 指定为某个目录。我的 java 程序中的命令失败并出现如下错误
Error executing command : [cmd, /c, netstat, -rn], Output is : 'netstat' is not recognized as an
internal or external command,
operable program or batch file.
我觉得 proc运行 的 StartPath 参数覆盖了像 C:\Windows\System32 这样的 PATH 变量,从而使 java 程序中的命令失败
--StartPath 启动映像可执行文件的工作路径。
我该如何处理这种情况?
如果您需要更多详细信息,请告诉我。
在此先感谢您的帮助。
Procrun(Prunserv) 提供设置环境的选项
http://commons.apache.org/proper/commons-daemon/procrun.html
++Environment="PATH='C:\Users\Public\agent\jre\bin';'C:\Windows\system32'"
我在环境中添加了 C:\Windows\system32,它工作正常。
Note : Environment option in prunserv is List of environment variables
that will be provided to the service in the form key=value. They are
separated using either # or ; characters. If you need to embed either # or ; character within a value put them inside single quotes.
我正在 运行在 windows 10 工作站上安装 java 程序。
我想 运行 我的 java 程序作为服务,所以我使用了 apache commons 工具 p运行serv http://commons.apache.org/proper/commons-daemon/procrun.html
问题是我的 java 程序 运行 里面有一些 windows shell 命令就像 cmd \c netstat -rn
但是当我开始我的 java作为服务程序并将 StartPath 指定为某个目录。我的 java 程序中的命令失败并出现如下错误
Error executing command : [cmd, /c, netstat, -rn], Output is : 'netstat' is not recognized as an
internal or external command,
operable program or batch file.
我觉得 proc运行 的 StartPath 参数覆盖了像 C:\Windows\System32 这样的 PATH 变量,从而使 java 程序中的命令失败
--StartPath 启动映像可执行文件的工作路径。
我该如何处理这种情况?
如果您需要更多详细信息,请告诉我。
在此先感谢您的帮助。
Procrun(Prunserv) 提供设置环境的选项
http://commons.apache.org/proper/commons-daemon/procrun.html
++Environment="PATH='C:\Users\Public\agent\jre\bin';'C:\Windows\system32'"
我在环境中添加了 C:\Windows\system32,它工作正常。
Note : Environment option in prunserv is List of environment variables that will be provided to the service in the form key=value. They are separated using either # or ; characters. If you need to embed either # or ; character within a value put them inside single quotes.