卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35447本站已运行396

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

如何在 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

卓越飞翔博客
上一篇: 是否可以使用 Golang 在 NextJS 中编写路由?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏