У меня есть скрипт python
для запуска колбы в ubuntu server
. Я подключился к системе и запустил флеш-сервер с python run.py
в debug mode
, чтобы увидеть информацию об отладке.
app.run(host='0.0.0.0',port=5000,debug=True)
Каким-то образом я был отключен от сеанса, когда пришел в свою домашнюю сеть, и когда я снова ssh'ed, я увидел, что скрипт все еще работает (не уверен, будет ли правильно работать в фоне).
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
и номер порта, связанный с колб-сервером, также открыт.
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 обратно в командную строку. Заранее спасибо.
По сути, вы спрашиваете, существует ли способ восстановить сеанс bash, от которого вы отключились (поскольку вы снова подключились по ssh, теперь вы находитесь в другом сеансе).
Этот пост содержит общую версию вашего вопроса. Похоже, вердикт заключается в том, что вы не можете восстановить контроль над полной сессией bash.
Однако, если вам просто нужно увидеть выходные данные отладки, этого может быть достаточно, чтобы просто просмотреть стандартный вывод из процесса Flask. В этом посте обсуждается просмотр stdout на работающем процессе (заявление об отказе: сам не пробовал)