gpt4 book ai didi

python - 在ubuntu VPS上后台运行python脚本并保存日志的方法

转载 作者:行者123 更新时间:2023-12-04 18:57:08 28 4
gpt4 key购买 nike

所以,我有一个 python 脚本,它不时将一些数据输出到终端。即使在关闭 SSH 连接并且仍将日志保存在某处后,我仍试图在 Ubuntu VPS 上运行。

我使用以下方法保存日志:

python3 my_script.py >>file.txt

它运行完美,但是当我尝试使用
nohup python3 my_script.py >>file.txt &

所以它在后台运行,在 ssh 连接关闭后,它似乎只保存了从 my_script.py 输出的第一个日志。我也尝试在 crontab 中运行它,但结果相似——只保存了第一个日志。

有小费吗?我究竟做错了什么?

最佳答案

我不明白你的意思是“第一个日志”。也许第一行日志?

要在 SSH 连接关闭时在后台运行某些东西,我更喜欢 Linux screen ,一个终端模拟工具,帮助你在子进程中运行你的命令。有了它,您可以选择在前台随时查看您的输出,或者让您的进程在后台运行。

用法(短)
screen不包含在大多数 Linux 发行版中。安装它(Ubuntu):

$ sudo apt-get install screen

在前台运行您的脚本:
$ screen python3 my_script.py

你会看到它在运行。现在从这个屏幕分离:按键 Ctrl-A后跟 Ctrl-D .您将回到您的 shell,在其中运行之前的 screen命令。如果需要切换回正在运行的上下文,请使用 screen -r命令。

该工具也支持多个并行运行进程。

奇怪的东西

我尝试重定向 stdoutstderr到带有 > 的文件或 >>象征。结果是失败了。我也不是这方面的专家,也许您需要查看它的手册页。但是,我倾向于直接在 Python 脚本中写入文件,在控制台上有一些基本的输出行。

关于python - 在ubuntu VPS上后台运行python脚本并保存日志的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58619579/

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