我正在代表试图将Power
Shell与我们的某个产品一起使用的其他人调查问题.我们的产品可以执行一个命令来执行操作,大多数民间直接调用.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并且我们回滚更改,因此它不是一个合适的解决方法.
否则,回到“退出0”我可以看到带有发送参数的powershell.exe仍然出现在任务管理器中;所以这并不是因为它已经退出而且我们不会选择它,它只是不会退出.
唉,我不是一个知识产权专家 – 所以问题归结为“什么会阻止退出?”
最佳答案 确定,确认,修改命令以启动/等待调用powershell.exe修复它.
我不知道为什么(它肯定到了脚本的末尾,好像我把出口改为随机的东西,我会把它弄错).
问题仍然存在……