Tant que la commande est un fichier exécutable ou un fichier qui est associé à un fichier exécutable, l'utilisation des Start-Processus (disponible à partir de v2):
Start-Process -NoNewWindow ping google.com
Vous pouvez également ajouter ce que une fonction dans votre profil:
function bg() {Start-Process -NoNewWindow @args}
et puis l'invocation devient:
bg ping google.com
À mon avis, le Début de l'Emploi est un overkill pour le cas d'utilisation simple de l'exécution d'un processus en arrière-plan:
- Start-Emploi n'ont pas accès à votre portée (car il s'exécute dans une session distincte). Vous ne pouvez pas faire de la "Start-Travail {bloc-notes $monfichier}"
- Start-Emploi ne permet pas de conserver le répertoire courant (car il s'exécute dans une session distincte). Vous ne pouvez pas faire de la "Start-Travail {bloc-notes myfile.txt}", où myfile.txt est dans le répertoire courant.
- La sortie n'est pas affichée automatiquement. Vous devez exécuter Recevoir des-Emploi avec l'ID de l'emploi en tant que paramètre.
REMARQUE: en ce qui Concerne votre premier exemple, "bg sommeil 30" ne marche pas car le sommeil est un Powershell commandlet. Démarrer le Processus ne fonctionne que lorsque vous avez réellement fourche d'un processus.