Comment exécuter une commande en arrière-plan sous Windows?

Dans Linux, vous pouvez utiliser la commande & pour exécuter la commande sur le fond, la même chose continuera après que le shell soit hors ligne. Je me demandais s’il y avait quelque chose comme ça pour les fenêtres

Je suppose que ce que vous voulez faire est d’exécuter une commande sans interface (éventuellement automatiquement?). Sur les fenêtres, il existe un certain nombre d’options pour ce que vous recherchez:

  • Meilleur: écrivez votre programme en tant que service Windows. Celles-ci démarrent lorsque personne ne se connecte au serveur. Ils vous permettent de sélectionner le compte d’utilisateur (qui peut être différent du vôtre) et ils redémarreront s’ils échouent. Celles-ci s’exécutent tout le temps, de sorte que vous pouvez automatiser les tâches à des moments précis ou selon un horaire régulier. Pour plus d’informations sur la façon d’écrire un service Windows, vous pouvez lire un didacticiel en ligne tel que ( http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx ).

  • Mieux: lancez la commande et masquez la fenêtre. En supposant que la commande est une commande DOS, vous pouvez utiliser un script VB ou C # pour cela. Voir ici pour plus d’informations. Un exemple est:

     Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run("C:\yourbatch.bat"), 0, True 

    Vous devrez toujours lancer la commande manuellement ou écrire une tâche pour lancer la commande. C’est l’une des plus grandes baisses de cette stratégie.

  • Pire: lancez la commande en utilisant le dossier de démarrage. Cela fonctionne lorsqu’un utilisateur se connecte à l’ordinateur

J’espère que ça aide certains!

Je crois que la commande que vous recherchez est start /b *command*

Pour unix, nohup représente «no hangup», ce qui est légèrement différent d’un job en arrière-plan (qui serait *command* & . Je pense que la commande ci-dessus devrait être similaire à un job d’arrière-plan pour Windows).

Vous devriez également jeter un coup d’œil à la commande at de Windows. Il lancera un programme à un certain moment en arrière-plan qui fonctionne dans ce cas.

Une autre option consiste à utiliser le logiciel nssm service manager. Cela encapsulera la commande que vous utilisez en tant que service Windows.