gpt4 book ai didi

如果 Screen 被分离,GNU Screen 中的 Python 最终会变得空闲

转载 作者:太空狗 更新时间:2023-10-29 20:28:45 26 4
gpt4 key购买 nike

我有一个 python 脚本,它使用多处理和子进程来并行启动多个带有不同参数的外部命令。可以找到代码here .

为方便起见,我在 GNU Screen session 中启动此脚本。运行此脚本的机器有 12 个处理器,这些处理器在进程变为事件状态之前处于空闲状态。

每个进程都需要几小时到几天的时间才能运行,因此我经常断开与机器的连接并分离 screen session 。

但是,最近我注意到一种我以前从未经历过的行为。有几次,我回到机器前发现它闲置,负载为零。如果我通过 ps uxtop 获得事件进程列表,我仍然可以在进程列表中找到脚本(和子进程)。然后我重新附加 screen session 以检查程序的状态,并立即将新一批进程发送到队列,系统负载在几秒钟内恢复到 12。请注意,除了重新附加 screen session 外,我对脚本什么也没做。

我在系统上安装了一个监控工具,结果是某些进程在特定时间后结束,并且没有启动新进程。因此,系统一直处于事件状态,直到子进程繁忙,并在队列中没有更多作业释放时立即变为空闲状态。

所以我的问题是,有谁知道可以解释这种行为的原因吗?

编辑:大约一年后,这个问题不再重现,无论是 screen 上的一些补丁还是 python 本身。我接受这个答案,因为它为测试提供了很好的指导。

最佳答案

我无法解释您所看到的原因。不过,我确实知道您接下来可以尝试什么。

  1. 尝试将脚本的输出通过管道传输到: |开球.txt如果那没有效果,请尝试...
  2. 在另一个 [hop] 主机上运行 screen。从那里通过 SSH 连接到您的工作主机。在非模拟 shell 中运行您的脚本。然后随意断开并重新连接您的跃点以检查该过程。这应该向工作人员隐藏无论如何都涉及 screen 。

请反馈这些测试的结果。这会让我继续前进。

关于如果 Screen 被分离,GNU Screen 中的 Python 最终会变得空闲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5925170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com