如何在asyncssh中运行一个进程并永远观察其输出

我创建了一个简单的 asyncssh 应用程序,它启动一个持续运行的进程。我想从应用程序运行时获取所有 stdout,但由于某种原因,它以部分方式结束。我不确定这是否意味着我可以从 stdout 获得多少限制。代码类似于以下内容:

我创建了一个简单的 asyncssh 应用程序,它启动一个持续运行的进程。我想从应用程序运行时获取所有 stdout,但由于某种原因,它以部分方式结束。我不确定这是否意味着我可以从 stdout 获得多少限制。代码类似于以下内容:

async def watch_process(command): 
   async with asyncssh.connect(host=host, user=user, p=p) as conn: 
      async with conn.create_process(command) as proc: 
         async for line in proc.stdout: 
            printf(f"{host}: {line}")
asyncio.run(watch_process(command))

UPDATE1:我刚刚看了一下 asyncssh 电子邮件列表,上面的代码似乎是正确的,所以我有点困惑,我的进程只打印出一部分行,然后挂起。https://groups.google.com/g/asyncssh-users/c/DiwRpZpYQjM/m/5uklhe01AwAJ

UPDATE2:在让应用程序运行几个小时 asyncssh 后,我得到了控制台输出每 X # 行。似乎它必须填充一个缓冲区超过一个阈值,然后才能打印出来。在 SSH 中是否有一个 theshold 设置,我需要配置它,以便它打印出每一行,而不是每 X # 行?

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(466)
CSS多列布局-Chrome不允许右列比左列更长
上一篇
带有 CSS动画的导航栏移动下的页面内容
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(33条)