![如何让程序在后台运行并适应窗口关闭的情况?](https://linux22.com/image/1452943/%E5%A6%82%E4%BD%95%E8%AE%A9%E7%A8%8B%E5%BA%8F%E5%9C%A8%E5%90%8E%E5%8F%B0%E8%BF%90%E8%A1%8C%E5%B9%B6%E9%80%82%E5%BA%94%E7%AA%97%E5%8F%A3%E5%85%B3%E9%97%AD%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%9F.png)
要在后台运行程序我使用:
START /B my.exe
但是当我关闭命令行时,进程停止运行。如何从命令行在后台运行程序并在命令窗口关闭后继续运行?
答案1
有一个区别:
- 如果
my.exe
是命令行工具,则START /B my.exe
相当于my.exe
因此如果相应的窗口关闭my.exe
则会被杀死;cmd
- 如果
my.exe
是图形用户界面(GUI)应用程序,则my.exe
无论相应的cmd
窗口是否关闭都应继续运行。
您可以使用下一个示例检查差异(请注意,这cscript.exe
是一个命令行工具,而是wscript.exe
一个 GUI 应用程序):
start "" /B cscript 923692.vbs
相反
start "" /B wscript 923692.vbs
创建一个示例923692.vbs
脚本如下(或使用另一个半无限的脚本):
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
BtnCode = WshShell.Popup( _
WScript.ScriptName & vbNewLine & "Exit script?" _
, 5 _
, WScript.FullName _
, vbOKCancel + vbQuestion)
If BtnCode = vbOK Then Exit Do
Wscript.Sleep 15000
Loop
读start
命令参考切换/B
含义。