You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux `nohup command &`的PowerShell等效方案:实现进程脱终端存活

PowerShell 中让 Python 程序脱离终端后台持续运行的方案

针对你需要让 Python 程序在关闭 PowerShell 终端后仍存活、后台无窗口运行且子进程也能保留的需求,以下是几个可靠的等效方案:

方案1:使用 PowerShell 7+ 的 Start-Process 带分离参数

如果你的环境是 PowerShell 7 及以上版本,直接用 Start-Process 搭配 -Detached 参数就能彻底脱离当前终端会话,同时结合 -CreateNoWindow 实现无窗口运行:

Start-Process python.exe -ArgumentList "my_program.py" -CreateNoWindow -Detached
  • -Detached:让进程完全脱离当前控制台会话,终端关闭后不会被终止
  • -CreateNoWindow:禁止创建任何可见窗口,实现真正后台运行

方案2:兼容 Windows PowerShell 5.1 的 WMI 方法

如果还在使用 Windows PowerShell 5.1,Invoke-WmiMethod 是更稳妥的选择,它创建的进程不属于当前控制台会话,天然不受终端关闭影响:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList "python.exe my_program.py"

执行后会返回进程 ID(ProcessId),你可以用这个 ID 后续管理进程。

方案3:借助 cmd 的 start 命令(兼容全版本)

也可以通过调用 cmd 的后台启动命令,实现类似效果:

cmd /c "start /b /min python.exe my_program.py"
  • /b:后台运行,不打开新窗口
  • /min:即使不小心创建窗口,也最小化运行(可选,搭配 /b 基本无窗口)

关于子进程存活的说明

以上方案创建的 Python 主进程都脱离了控制台会话,只要你的 Python 程序启动子进程时没有刻意绑定到终端(比如没有继承控制台输入输出),子进程会自动跟随主进程存活,不会因终端关闭而被终止。

内容的提问来源于stack exchange,提问作者Ottpocket

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 18:52:11