这确实很基本,但我找不到答案。安装程序设置我的路径,以便我只需键入命令:
服务
在命令提示符处并且脚本运行。我不想等待这个程序完成(毕竟它是一个服务器)。如何从 Powershell 启动相同的脚本(据我所知,这是一个 CMD 脚本),而无需等待它完成(并且无需查找脚本的源目录)?
如果可以接受在 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-Process
cmdlet,它在 Windows 上会在新的控制台窗口中启动一个独立的进程(默认情况下);使用-WindowStyle
参数来控制该窗口的可见性/状态:
Start-Process ng server # short for: Start-Process -FilePath ng -ArgumentList server
Run Code Online (Sandbox Code Playgroud)
注意:在类 Unix 平台上,Start-Process
不支持创建独立的新终端窗口,您必须额外使用nohup
- 请参阅此答案。