注销后让代码运行

Let code run after logout

我有一段很长的代码,可以从文件中提取数据,将其存储在字典中,然后将其插入到 mysql table 中。我需要在包含近 1000 个文件的文件夹中循环,这将花费数小时。我看到了很多相互矛盾的建议,但不确定哪一个是最简单和最安全的。是否有一个命令我可以 运行 让代码保持 运行ning 即使我在计算机上注销我的用户(这意味着终端将退出)?我还没有开始 运行。

您可以 运行 您的代码在 screentmux 上。

听起来您的代码目前 运行 类似于 ./ingest-data.py,因此最简单的选择是添加前缀 nohup(no-hangup 的缩写)。

nohup ./ingest-data.py

要在 shell 掉线时保存调试输出,您需要将 nohup 输出重定向到文件。 Gnu Bash Redirection manual 有更多详细信息。

nohup ./ingest-data.py >output 2>&1 &

或者,终端多路复用器(如 tmuxbyobu)可以手动分离和重新连接,但如果 shell 连接断开,也会继续存在。如果您在终端上花费大量时间,那么其他功能可能会让您感兴趣,因此请查看一些文章和视频来衡量您的兴趣。

第三个选项是带有 X2Go 或 NoMachine 的桌面 detach/reattach,但可能需要比当前项目可用的更多调整。

nohup 开始,如果您愿意,可以转到其他工具。