Maison >développement back-end >Tutoriel Python >Comment obtenir les résultats d'une commande de longue durée dans pypsexec ?

Comment obtenir les résultats d'une commande de longue durée dans pypsexec ?

WBOY
WBOYavant
2024-02-12 11:30:051311parcourir

如何在 pypsexec 中获取长时间运行命令的结果?

Contenu de la question

J'utilise pypsexec pour me connecter à un ordinateur Windows distant. Je dois trouver une liste de fichiers avec une extension spécifique. C'est ce que je fais maintenant.

command = "dir /b/s *.py"
client.run_executable("cmd.exe", arguments=f"/c {command}", asynchronous=True)

Lorsque je n'utilisais pas de paramètres asynchrones, je n'ai reçu aucune réponse au début. Après avoir lu la documentation, je peux voir que les tâches de longue durée (comme la mienne) devraient utiliser ce paramètre. Cependant, il ne fournit pas d’instructions claires sur la manière d’obtenir le résultat une fois le travail terminé.

Merci d'avance !


Bonne réponse


C'est parce que vous ne pouvez pas obtenir le résultat. Voir https://github.com/jborean93/pypsexec /blob/master/pypsexec/client.py#l436-l466

if not interactive and not asynchronous:
    [...] # Here is where stdout and stderr is set
else:
    stdout_out = None
    stderr_bytes = None

[...] # Here is some code that doesn't change stdout_out or stderr_bytes

return stdout_out, stderr_bytes, return_code

Comme vous pouvez le constater, en utilisant asynchronous=true 时,stdout 和 stderr 将始终为 none

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer