¿Cómo puedo ejecutar una línea de comandos de Windows en segundo plano, sin que interactúe con el usuario activo?
windows
command-line
Mohammad AL-Rawabdeh
fuente
fuente
Respuestas:
Su pregunta es bastante vaga, pero hay una publicación en ServerFault que puede contener la información que necesita. La respuesta allí describe cómo ejecutar una ventana de archivo por lotes oculta:
fuente
Esto es un poco tarde pero me encontré con esta pregunta mientras buscaba la respuesta y encontré esto:
que, en Windows, es el más cercano al comando de Linux:
Desde el sistema de ayuda de la consola:
Un problema que vi con él es que tienes más de un programa escribiendo en la ventana de la consola, se vuelve un poco confuso y confuso.
Para que no interactúe con el usuario, puede redirigir la salida a un archivo:
fuente
start /B "" program
, funcionó ...Sospecho que quiere decir: ejecute algo en segundo plano y recupere la línea de comando inmediatamente con el programa iniciado continuando.
¿Cuál es el equivalente de Unix de
fuente
start
? No funciona sin él (ejecuta solo una nueva instancia de comando), perostart
la ayuda no dice nada al respecto, afirma que todos los parámetros son opcionales (o no lo entiendo).start
funciona sin el parámetro vacío para mí, pero parece que obtengo un shells con una configuración separada cuando uso el parámetro vacío, como una configuración que hice cuando no tenía el parámetro vacío no se usa cuando uso El parámetro vacío. Me pregunto por qué usan configuraciones separadas.START "" program
inicia un comando en una nueva terminal para mí, mientras queprogram &
en Unix ejecuta el comando e imprime la salida en la misma terminal.el anterior está bastante más cerca con su contraparte de Unix
program &
fuente
Puede usar este script de PowerShell (¡comentado!):
Guárdelo como un
.ps1
archivo. Después de habilitar la ejecución del script (consulte Habilitación de scripts en el wiki de la etiqueta de PowerShell ), puede pasarle una o dos cadenas: el nombre del ejecutable y, opcionalmente, la línea de argumentos. Por ejemplo:Confirmo que esto funciona en Windows 10.
fuente
Así es como mi servidor interno PHP entra en segundo plano. Entonces, técnicamente debería funcionar para todos.
Gracias
fuente
Si desea que el programa de línea de comandos se ejecute sin que el usuario lo sepa, defínalo como un Servicio de Windows y se ejecutará según un cronograma.
fuente
schtasks
comando en Windows XP y superior (advertencia:schtasks
es complicado).Una respuesta relacionada, con 2 ejemplos:
fuente
call Start /MIN "c" "calc.exe"
SW_*
a laCreateProcessW
víaSTARTUPINFO::wShowWindow
(incluidoSW_HIDE
).Puede ver la forma correcta de hacer esto en este enlace:
Cómo ejecutar una tarea programada sin que aparezca una ventana de comando
En resumen, debe marcar la casilla 'Ejecutar si el usuario ha iniciado sesión o no'. Las credenciales de usuario de la tarea deben ingresarse después de presionar 'Ok'.
fuente
acabo de encontrar este hilo windows 7, usando power shell, ejecuta ejecutables en segundo plano, exactamente igual que unix filename &
ejemplo: inicio -NoNewWindow nombrearchivo
ayuda para comenzar
NOMBRE Proceso de inicio
Proceso de inicio SYNTAX [-FilePath] [[-ArgumentList]] [-Credential] [-WorkingDirectory] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError] [-RedirectStandardInput] [-Redirect] [-WindowStyle {Normal | Oculto | Minimizado | Maximizado}] [-UseNewEnvironment] []
Alias saps comienzan
fuente