linux - 使用 nohup 在与 ssh 断开连接时帮助运行 python 代码循环

标签 linux python-2.7 loops ssh nohup

我正在寻求运行需要一些时间才能运行的 python 脚本的帮助。
这是一个长期运行的过程,每次测试观察大约需要 2 小时。例如,这些观察结果可能是美国的 50 个州。

我不想整天照顾这个过程 - 我想启动它然后下类开车回家 - 或者让它在我 sleep 时运行。

由于这是一个循环 - 我需要调用一个 python 脚本来循环遍历我的代码,遍历 50 个状态中的每一个 - 以及第二个运行我的实际代码来执行操作的代码。

我听说过 NOHUP,但我的知识非常有限。我看到 nohup ipython mypython.py 但当我谷歌时,我得到很多其他人用其他方法插话,所以我不知道像我这样的人的理想方法是什么。此外,我本质上希望将其作为循环运行 - 所以不知道这会让事情变得复杂。

请给我一些简单易懂的东西。我不太了解 Linux,否则我不会问,因为这似乎是一种常见的命令/事件......

我的代码的基本示例:

两个文件:code_file.py和loop_file.py

Code_file.py 完成所有工作。循环文件只是传递要运行的内容的列表。

code_file.py

output = each_state + ' needs some help!'
print output

loop_file.py

states = ['AL','CO','CA','NY','VA','TX']
for each_state in states:
    code_file.py

关于循环 - 我还听说我无法通过 nohup 传递参数或其他内容?我可以在我的 python 代码中修复此部分......例如,从我的代码中读取 CSV 并从该 CSV 文件中删除当前记录,然后重新写出......这样我就可以始终为我的循环选择 CSV 文件中的顶部记录(状态列表)

最佳答案

也许你可以像这样修改你的loop_file.py:

import os    
states = ['AL','CO','CA','NY','VA','TX']
    for each_state in states:
        os.system("python /dir_of_your_code/code_file.py")

然后在 shell 中,您可以运行loop_file.py:

nohup python Loop_file.py & # & 不是必需的,它只是将文件的所有输出重定向到名为 nohup.out 的文件,而不是将其打印在屏幕上。

关于linux - 使用 nohup 在与 ssh 断开连接时帮助运行 python 代码循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46354889/

相关文章:

linux - 如何在 unix 中获取变量(参数扩展)的变量值?

linux - 在 centOS 6.4 64 位中安装 teamviewer 时出现依赖项错误?

python-2.7 - 用于在窗口上打印串行数据的 python 代码。

python-2.7 - 尽管安装了 matplotlib,dispersion_plot 不起作用

javascript - 循环中的异步等待在第 370 次迭代后停止

java - 如何从 for 循环内部返回变量

linux - RStudio 服务器导出功能背后的代码

php - Linux - 我无法更改 NTFS 分区的其他读取或执行权限

Python 和 MySQLdb - 数据未插入,数据转换也错误

php - 从数据库自引用表创建嵌套数组并显示在 Smarty 模板的嵌套列表中