Powershell 什么是';诺胡普';在地狱里?
如何在PowerShell中模拟unix命令的行为?这是Powershell 什么是';诺胡普';在地狱里?,powershell,nohup,Powershell,Nohup,如何在PowerShell中模拟unix命令的行为?这是nohup我的另一个非阻塞命令。我注意到Start Job命令,但是语法对我来说有点不清楚 > Start-Job my.exe 此输出失败: Start-Job : Parameter set cannot be resolved using the specified named parameters. At line:1 char:1 + Start-Job my.exe + ~~~~~~~~~~~~~~~~~~~~~~~~~
nohup我的另一个非阻塞命令
。我注意到Start Job
命令,但是语法对我来说有点不清楚
> Start-Job my.exe
此输出失败:
Start-Job : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Start-Job my.exe
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Job], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.StartJobCommand
请尝试以下方法:
> Start-Job { & C:\Full\Path\To\my.exe }
它将工作,您将看到如下输出:
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Running True localhost & .\my.exe
我希望这就是您想要的,因为您的问题有点模糊。Powershell是向后兼容的,任何在v1中工作的命令都可以在v2和v3上工作。(同样,v2和v3脚本仍然使用扩展名
.ps1
)。请给出一个例子,让您认为启动作业或调用命令不起作用,或者发布一个psudocode示例,说明如果您知道正确的命令,它将如何工作?在PS1中工作的任何东西都将在v2和v3中工作。如果您解释了实际需要完成的任务,可能会有人提出更符合PowerShell习惯用法的解决方案。虽然公认的答案解释了Start Job
的语法,但需要注意的是Start Job
并不等同于Unixnohup
实用程序,因为后者确保了它所启动的进程即使在启动外壳退出后仍保持活动状态。有关如何在Windows(和Unix)上实现真正的nohup
-like行为的相关问题,请参阅。这种方法之所以有效,是因为它创建了一个脚本块,从中执行二进制文件。我希望您的问题来自这样一个事实,即当您只需将希望运行的二进制文件交给启动作业时,启动作业意外失败。Eld,是的,这正是我遇到的问题。你做得很好。如果控制台窗口关闭,有没有办法避免脚本终止?