powershell:exit并没有真正退出

时间:2013-02-14 12:13:26

标签: powershell

我正在代表正在尝试将PowerShell与我们的某个产品一起使用的其他人调查问题。我们的产品可以执行一个命令来执行操作,大多数民间直接调用.exe工作正常。一个用户使用这种方法调用一些powershell:

powershell -version 2.0 -NonInteractive -ExecutionPolicy ByPass -file ($ScriptsFolder)p4_commit.ps1 {"($Message)" ($Files)}

虽然它永远不会退出,但我们的软件会永远等待。该脚本以一个简单的“exit 0”结束,紧接着之前的行是一个调试输出,如果我们从外部取消该过程,则会显示该脚本,所以它已经到了脚本的结尾OK(是的,脚本运行正常)。

如果我删除了exit命令并将其替换为powershell session kill:

Stop-Process -Id $PID

然后它会终止,但当然退出代码不是0并且我们回滚更改,所以这不是一个合适的解决方法。

否则,回到'exit 0'我可以看到带有发送参数的powershell.exe仍然出现在任务管理器中;所以这并不是因为它已经退出而且我们没有选择它,它只是不会退出。

唉,我不是一个权威专家 - 所以问题归结为“什么会阻止退出?”

1 个答案:

答案 0 :(得分:2)

确定,确认,修改命令以启动/等待修复powershell.exe。 我不知道为什么(它肯定会到达脚本的末尾,好像我将退出更改为随机的东西,我会把它弄错)。

仍然,问题解决了......