我正在尝试使用NSSM和powershell将Selenium安装为服务。但是,在创建服务时,is没有设置正确的参数。
在CMD中运行的相同命令成功执行,并按预期安装服务。
如何使用Powershell将设置传递到NSSM?我使用的命令是:
nssm install SeleniumHub java -jar C:\bin\Selenium2\selenium-server-standalone-2.53.0.jar -role hub -hubConfig C:\bin\Selenium2\seleniumHubConfig.jsonNSSM在我的路径上,因此powershell可以正确地找到NSSM可执行文件,但它处理参数的方式似乎与CMD不同
发布于 2016-03-23 18:42:21
如果它在CMD中工作,为什么不将其作为cmd命令传递:)
cmd /c "nssm install SeleniumHub java -jar C:\bin\Selenium2\selenium-server-standalone-2.53.0.jar -role hub -hubConfig C:\bin\Selenium2\seleniumHubConfig.json"发布于 2016-03-23 21:16:11
您是对的-- PowerShell不像CMD那样处理参数。这里的问题是,一些NSSM参数(如-role和-hub)看起来像PowerShell参数,所以PowerShell试图解释它们,而不是将它们传递给NSSM。
将这些参数放在引号中会有所帮助,但我发现调用带参数的命令的最好方法是将它们捆绑成一个数组,并使用调用操作符&。
$params = @('install', 'SeleniumHub', 'java', '-jar',
'C:\bin\Selenium2\selenium-server-standalone-2.53.0.jar',
'-role', 'hub', '-hubConfig',
'C:\bin\Selenium2\seleniumHubConfig.json')
& nssm $paramshttps://stackoverflow.com/questions/36175163
复制相似问题