在 bash 中,与号 (&) 可用于在后台运行命令并在命令完成运行之前将交互控制返回给用户。在 Powershell 中是否有等效的方法来执行此操作?
在 bash 中的用法示例:
sleep 30 &
最佳答案
只要命令是可执行文件或具有关联可执行文件的文件,请使用 Start-Process (可从 v2 获得):
Start-Process -NoNewWindow ping google.com
您还可以将其添加为个人资料中的函数:
function bg() {Start-Process -NoNewWindow @args}
然后调用变为:
bg ping google.com
在我看来,Start-Job 对于在后台运行进程的简单用例来说是一种矫枉过正:
注意:关于您的初始示例,“bg sleep 30”不起作用,因为 sleep 是 Powershell commandlet。 Start-Process 仅在您实际 fork 进程时才起作用。
关于用于派生/运行后台进程的 bash 与符号 (&) 的 Powershell 等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/185575/