【发布时间】:2016-04-23 03:09:04
【问题描述】:
我创建了一个 python(和 C,但“控制”部分是 Python)程序,用于使用马尔可夫链蒙特卡罗方法执行贝叶斯反演。不幸的是,McMC 可能需要几天时间才能运行。我的部分研究是减少时间,但我们只能减少这么多。
我在使用 nohup 的无头 Centos 7 机器上运行它,因为保持连接和接收打印数天是不切实际的。但是,我希望能够偶尔检查一下我的程序,看看它完成了多少次迭代,有多少个提案被接受,它是否已经过时等等。
有什么东西可以用来与 python 进程交互来获取这些信息吗?
【问题讨论】:
-
你可能对 screen 或 tmux 感兴趣
-
您可以使用信号处理程序,例如
SIGUSR1,以使进程打印一些信息。也可以将mosh签出为“更好的 ssh”。使用mosh,您可以通过不可靠的连接轻松保持tmux或screen会话打开。 -
你可以attach a debugger (
gdb) 但提供一个远程 (ssh) (i)python REPL 在你的应用程序上下文中运行可能更方便(即,你可以使用你的程序的交互式对象),请参阅twisted manhole example
标签: python linux python-3.x