Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich die Ergebnisse eines lang laufenden Befehls in pypsexec?

Wie erhalte ich die Ergebnisse eines lang laufenden Befehls in pypsexec?

WBOY
WBOYnach vorne
2024-02-12 11:30:051236Durchsuche

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

Frageninhalt

Ich verwende pypsexec, um eine Verbindung zu einem Remote-Windows-Computer herzustellen. Ich muss eine Liste von Dateien mit einer bestimmten Erweiterung finden. Das ist es, was ich jetzt mache.

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

Als ich keine asynchronen Parameter verwendet habe, erhielt ich zunächst keine Antwort. Nachdem ich die Dokumentation gelesen habe, kann ich sehen, dass lang laufende Aufgaben (wie meine) diesen Parameter verwenden sollten. Es enthält jedoch keine klaren Anweisungen, wie die Ausgabe nach Abschluss des Auftrags abgerufen werden kann.

Vielen Dank im Voraus!


Richtige Antwort


Das liegt daran, dass Sie die Ausgabe nicht erhalten können. Siehe 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

Wie Sie sehen können, verwenden Sie asynchronous=true 时,stdout 和 stderr 将始终为 none

Das obige ist der detaillierte Inhalt vonWie erhalte ich die Ergebnisse eines lang laufenden Befehls in pypsexec?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Pygame-Animations-Sprite-SheetNächster Artikel:Pygame-Animations-Sprite-Sheet