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

2024年 2月 12日 35.8k 0

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

问题内容

我正在使用 pypsexec 连接到远程 windows 计算机。我必须找到具有特定扩展名的文件列表。这就是我现在正在做的事情。

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

登录后复制

当我没有使用异步参数时,一开始我没有收到任何响应。阅读文档后,我可以看到长时间运行的任务(例如我的任务)应该使用此参数。但是,它没有提供有关如何在作业完成后获取输出的明确说明。

提前致谢!

正确答案

这是因为你无法获得输出。请参阅 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

登录后复制

正如您所见,使用 asynchronous=true 时,stdout 和 stderr 将始终为 none

以上就是如何在 pypsexec 中获取长时间运行命令的结果?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论