
Для запуска программы в фоновом режиме я использую:
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
это приложение с графическим интерфейсом):
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
значения переключателя.