要在后台运行程序我使用:
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
含义。