我使用 ssh 协议连接到远程服务器并启动此命令以远程运行我的 python 脚本:
nohup python3.8 -u sab.py > log_15_09_2023.txt &
这工作得很好,因为如果我输入,top
我可以看到我的脚本当前正在运行。
但是如果我输入
tail -f nohup.out
我得到:
tail:无法打开“nohup.out”进行读取:没有这样的文件或目录 tail:没有剩余文件
所以我尝试了tail -f ./nohup.out
但我得到了同样的错误。
如果我输入,pwd
我会得到/home/alex
,如果我打印,ls -i -l
我会得到:
total 92
3414135 -rw-rw-r-- 1 alex alex 25538 Sep 15 16:41 log_15_09_2023.txt
3409134 -rw-r--r-- 1 alex alex 522 Sep 13 17:15 requirements.txt
3414133 -rw-r--r-- 1 alex alex 9585 Sep 15 13:18 sab.py
3407895 drwxrwxr-x 7 alex alex 4096 Sep 13 17:04 venv
我缺少什么?
来自
man 1 nohup
[强调我的]:nohup.out
这意味着当标准输出是终端时使用默认文件名。在您的情况下,它不是终端,而是一个名为log_15_09_2023.txt
.通过重定向到
log_15_09_2023.txt
您,可以nohup
使用这个确切的文件而不是nohup.out
. 您没有重定向标准错误,它是一个终端,因此nohup
自动将其重定向到标准输出,即也重定向到此文件。而不是
tail -f nohup.out
你应该调用:它会起作用,文件就在那里。