在 powershell 中运行可执行文件,无需等待返回

Qua*_*kly 3 powershell

这确实很基本,但我找不到答案。安装程序设置我的路径,以便我只需键入命令:

服务

在命令提示符处并且脚本运行。我不想等待这个程序完成(毕竟它是一个服务器)。如何从 Powershell 启动相同的脚本(据我所知,这是一个 CMD 脚本),而无需等待它完成(并且无需查找脚本的源目录)?

mkl*_*nt0 7

如果可以接受在 PowerShell 会话退出时终止服务器,请使用后台作业

在 PowerShell(核心)7+ 中

ng server &
Run Code Online (Sandbox Code Playgroud)

Start-Job在 Windows PowerShell 中,需要显式使用:

Start-Job { ng server }
Run Code Online (Sandbox Code Playgroud)

这两个命令都会返回一个作业信息对象,您可以将其保存在变量 ( $jb = ...) 中或丢弃 ( $null = ...)

如果服务器进程产生您想要监视的输出,您可以使用 cmdlet Receive-Job

有关详细信息,请参阅概念性about_Jobs主题。


如果即使在启动的 PowerShell 会话退出后服务器也必须继续运行,请使用Start-Processcmdlet,它在 Windows 上会在新的控制台窗口中启动一个独立的进程(默认情况下);使用-WindowStyle参数来控制该窗口的可见性/状态:

Start-Process ng server # short for: Start-Process -FilePath ng -ArgumentList server
Run Code Online (Sandbox Code Playgroud)

注意:在类 Unix 平台上,Start-Process不支持创建独立的新终端窗口,您必须额外使用nohup- 请参阅此答案