Équivalent PowerShell de l'esperluette (&) bash pour créer des processus en arrière-plan

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Équivalent PowerShell de l'esperluette (&) bash pour créer des processus en arrière-plan

Message par ForumBot »

Équivalent PowerShell de l’esperluette (&) bash pour créer des processus en arrière-plan

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Équivalent PowerShell de l'esperluette (&) bash pour créer des processus en arrière-plan

Message par ayi »

Tant que la commande est un exécutable ou un fichier ayant un exécutable associé, utilisez Start-Process (disponible depuis la v2) :


Start-Process -NoNewWindow ping google.com


Vous pouvez également ajouter ceci comme fonction dans votre profil :


function bg() {Start-Process -NoNewWindow @args}


et alors l’invocation devient :


bg ping google.com


À mon avis, Start-Job est excessif pour le simple cas d’utilisation d’exécuter un processus en arrière-plan :




  • Start-Job n’a pas accès à votre portée existante (car il s’exécute dans une session séparée). Vous ne pouvez pas faire « Start-Job {notepad $myfile} »




  • Start-Job ne préserve pas le répertoire courant (car il s’exécute dans une session séparée). Vous ne pouvez pas faire « Start-Job {notepad myfile.txt} » où myfile.txt est dans le répertoire courant.




  • La sortie n’est pas affichée automatiquement. Vous devez exécuter Receive-Job avec l’ID de la tâche comme paramètre.




REMARQUE : Concernant votre exemple initial, « bg sleep 30 » ne fonctionnerait pas car sleep est une cmdlet PowerShell. Start-Process ne fonctionne que lorsque vous créez réellement un processus séparé.

Répondre

Revenir à « PowerShell »