J'utilise le module de sous-processus python pour exécuter une commande et stocker sa sortie en arrière-plan. La commande est déployée sur ma machine. Maintenant, chaque fois que je lance la commande à partir de l'invite du shell, cela fonctionne très bien. Mais lorsque je tente d'exécuter la même commande en utilisant le module sous-processus, il donne l'erreur suivantecommande en cours en arrière-plan
La commande à exécuter est vxswadm listswitch all
process = subprocess.Popen('vxswadm listswitch all > tmp.txt &',shell=True)
>>> Traceback (most recent call last):
File "/usr/bin/vxswadm", line 30, in <module>
l.uname = os.getlogin()
OSError: [Errno 25] Inappropriate ioctl for device
Quelqu'un peut-il me aider à corriger cette erreur. Toutes les suggestions seront utiles. Merci à l'avance
Tazim
Cela peut être soit la façon dont vous manipulez stdout, ou une erreur survenant dans stdout lui-même. Avez-vous pu exécuter la commande avec succès en dehors de Python? –
La commande yes fonctionne correctement à l'invite du shell – tazim