¿Cómo ejecutar el programa en segundo plano y atender un escenario en el que la ventana está cerrada?

¿Cómo ejecutar el programa en segundo plano y atender un escenario en el que la ventana está cerrada?

Para ejecutar el programa en segundo plano uso:

START /B my.exe

Pero cuando cierro la línea de comando, el proceso deja de ejecutarse. ¿Cómo se puede ejecutar el programa en segundo plano desde la línea de comandos y continuar ejecutándolo si la ventana de comandos está cerrada?

Respuesta1

Hay una diferencia:

  • si my.exees una herramienta de línea de comando, entonces START /B my.exees equivalente a, my.exepor lo tanto, my.exese eliminará si cmdse cierra la ventana correspondiente;
  • Si my.exees una aplicación de interfaz gráfica de usuario (GUI), entonces my.exedebería seguir ejecutándose independientemente de que cmdla ventana correspondiente esté cerrada.

Puede verificar la diferencia usando el siguiente ejemplo (tenga en cuenta que cscript.exees una herramienta de línea de comandos mientras que wscript.exees una aplicación GUI):

start "" /B cscript 923692.vbs

en contraposición a

start "" /B wscript 923692.vbs

Cree un 923692.vbsscript de muestra de la siguiente manera (o use otro semi-interminable):

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

Leerstart referencia de comandopara el /Bsignificado del cambio.

información relacionada