注销后让代码运行
Let code run after logout
我有一段很长的代码,可以从文件中提取数据,将其存储在字典中,然后将其插入到 mysql table 中。我需要在包含近 1000 个文件的文件夹中循环,这将花费数小时。我看到了很多相互矛盾的建议,但不确定哪一个是最简单和最安全的。是否有一个命令我可以 运行 让代码保持 运行ning 即使我在计算机上注销我的用户(这意味着终端将退出)?我还没有开始 运行。
您可以 运行 您的代码在 screen
或 tmux
上。
听起来您的代码目前 运行 类似于 ./ingest-data.py
,因此最简单的选择是添加前缀 nohup
(no-hangup 的缩写)。
nohup ./ingest-data.py
要在 shell 掉线时保存调试输出,您需要将 nohup
输出重定向到文件。 Gnu Bash Redirection manual 有更多详细信息。
nohup ./ingest-data.py >output 2>&1 &
或者,终端多路复用器(如 tmux
或 byobu
)可以手动分离和重新连接,但如果 shell 连接断开,也会继续存在。如果您在终端上花费大量时间,那么其他功能可能会让您感兴趣,因此请查看一些文章和视频来衡量您的兴趣。
第三个选项是带有 X2Go 或 NoMachine 的桌面 detach/reattach,但可能需要比当前项目可用的更多调整。
从 nohup
开始,如果您愿意,可以转到其他工具。
我有一段很长的代码,可以从文件中提取数据,将其存储在字典中,然后将其插入到 mysql table 中。我需要在包含近 1000 个文件的文件夹中循环,这将花费数小时。我看到了很多相互矛盾的建议,但不确定哪一个是最简单和最安全的。是否有一个命令我可以 运行 让代码保持 运行ning 即使我在计算机上注销我的用户(这意味着终端将退出)?我还没有开始 运行。
您可以 运行 您的代码在 screen
或 tmux
上。
听起来您的代码目前 运行 类似于 ./ingest-data.py
,因此最简单的选择是添加前缀 nohup
(no-hangup 的缩写)。
nohup ./ingest-data.py
要在 shell 掉线时保存调试输出,您需要将 nohup
输出重定向到文件。 Gnu Bash Redirection manual 有更多详细信息。
nohup ./ingest-data.py >output 2>&1 &
或者,终端多路复用器(如 tmux
或 byobu
)可以手动分离和重新连接,但如果 shell 连接断开,也会继续存在。如果您在终端上花费大量时间,那么其他功能可能会让您感兴趣,因此请查看一些文章和视频来衡量您的兴趣。
第三个选项是带有 X2Go 或 NoMachine 的桌面 detach/reattach,但可能需要比当前项目可用的更多调整。
从 nohup
开始,如果您愿意,可以转到其他工具。