在Shell或者Linux命令行中,如果想用一个终端窗口同时运行多个命令,可以很方便地在命令的最后加上&。那么如何在PowerShell里实现相同目的呢?
原理及实现
PowerShell的后台功能是靠Start-Process
命令实现的。以下为使用例:
# 启动一个进程
Start-Process -NoNewWindow ping www.baidu.com
# 启动一个带参数的进程
# (参数不可以直接写在“-NoNewWindow”的后面)
Start-Process -NoNewWindow ping -ArgumentList '-n 10 www.baidu.com'
以上命令可以在同一个PowerShell同时执行多个,达到后台进程的效果。
高级一点的用法
可以将Start-Process
封装成函数,简化命令。
function bg() {Start-Process -NoNewWindow @args}
bg ping -ArgumentList '-n 10 www.baidu.com'
关于Start-Process
的更多用法,请参考官方文档。