2013-10-11 218 views
4

如何在PowerShell中模擬unix命令nohup的行爲?那是nohup my-other-nonblocking-command。我已經注意到Start-Job命令,但是語法對我來說有點不清楚。PowerShell中'nohup'的等效物是什麼?

+0

Powershell向後兼容,任何適用於v1的命令都適用於v2和v3。 (也是v2和v3腳本仍然使用擴展名「.ps1」)。你能舉出一個讓你認爲Start-Job或Invoke-Command不起作用的例子,並且如果你知道正確的命令,可以發佈一個psudocode例子來說明你認爲它可以工作嗎? –

+0

PS1中的任何工具都可以在v2和v3中使用。如果你解釋你實際需要完成的事情,那麼有人可能會提出一個更符合PowerShell習慣用法的解決方案。 – alroc

回答

5
> 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 

我希望這是你正在尋找的,因爲你的問題有點含糊。

+0

這個原理的作用是它創建一個腳本塊,從中執行你的二進制文件。我希望你的問題來自Start-Job意外失敗的事實,當你把它交給你想運行的二進制文件時。 – petrsnd

+0

老頭,是的,那正是我遇到的問題。你完美地釘住了它。 –

相關問題