python 脚本未显示在作业中

python 脚本未显示在作业中

我有一个python在 中运行 flask 应用程序的脚本ubuntu server。我通过 ssh 连接到系统并python run.py在 中运行 flask 服务器debug mode,以查看调试信息。

app.run(host='0.0.0.0',port=5000,debug=True)

不知何故,当我进入家庭网络时,我断开了会话连接,当我再次 ssh 时,我可以看到脚本仍在运行(不确定说在后台运行是否正确)。

ubuntu@ip-11-11-11-11:~$ ps -aux | grep python
root       800  0.0  1.4 170820 15096 ?        Ssl  May02   0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root       858  0.0  1.5 187636 16100 ?        Ssl  May02   0:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
ubuntu   13069  0.0  2.1  58744 21408 pts/1    S+   10:20   0:00 python webhook.py
ubuntu   13071  0.2  2.2 213440 22876 pts/1    Sl+  10:20   0:22 /usr/bin/python /home/ubuntu/webhook.py
ubuntu   13380  0.0  0.1  13136  1008 pts/0    S+   13:13   0:00 grep --color=auto python

并且与 flask 服务器关联的端口号也打开了。

ubuntu@ip-11-11-11-11:~$ netstat -tunapl | grep LISTEN
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      13069/python
tcp6       0      0 :::22                   :::*                    LISTEN      -

我想再次查看调试信息,所以我想用fg将其带入前台。但没有输出jobs

ubuntu@ip-11-11-11-11:~$ jobs
ubuntu@ip-11-11-11-11:~$

我相信这意味着 python 脚本是一个过程而不是工作。

有人能帮我解决这个问题吗?有什么方法可以让我把 Python 脚本带回到命令行中吗?提前致谢。

答案1

基本上,您是在问是否有办法恢复您断开连接的 bash 会话(因为您已再次通过 ssh 登录,所以您现在处于不同的会话中)。

这个帖子有您问题的一般版本。结论似乎是您无法恢复对整个 bash 会话的控制。

但是,如果您只需要查看调试输出,则仅查看 Flask 进程的标准输出就足够了。这个帖子讨论过如何在正在运行的进程中查看标准输出(免责声明:我自己还没有尝试过)

相关内容