写了一个 py 想让它在云服务后台运行

2021-03-27 13:09:30 +08:00
 ling516
nohup python3 test.py &
网上搜了半天是使用这个命令,但是关闭窗口后进程还是结束了
网上还说 nohup 按任意键回到 shell,再用 exit 退出,但是关闭窗口后进程还是结束了

求大佬指点
6951 次点击
所在节点    Python
69 条回复
MOONLIGHTT
2021-03-27 19:00:34 +08:00
tmux+1
ronman
2021-03-27 19:03:23 +08:00
zengguibo
2021-03-27 19:33:47 +08:00
nohup python test.py & 绝对可以,如果不行先检查一下你的脚本
FransicZhang
2021-03-27 19:44:58 +08:00
pm2 它不香嘛
zhoudaiyu
2021-03-27 20:01:25 +08:00
@ronman 十分感谢~
nicevar
2021-03-27 20:02:50 +08:00
大概率是程序写得有问题
ling516
2021-03-27 21:06:50 +08:00
@nicevar 不是 已经可以了 写的 systemctl
nutting
2021-03-27 21:07:55 +08:00
看看父进程是啥就能分析出来为啥挂不住了
yanfany
2021-03-27 21:24:14 +08:00
用 screen
dapan24678
2021-03-27 21:27:42 +08:00
个人感觉你还是先看看,不后台运行能跑起来不,很多时候是项目启动时报异常退出了,因为后台运行,异常信息也看不见,确定项目能跑起来了再用这个命令
cheneydog
2021-03-27 21:48:39 +08:00
@lambdafate
@ByteCat
@7gugu


我有个问题请教,screen 怎么能一行命令创建并执行?每次都得 screen -dmS xxx 进去运行,然后退出。
tomari
2021-03-27 22:05:06 +08:00
tmux 或者 screen,deep learning 做 train 和 interfere 的时候常用。。
tomari
2021-03-27 22:06:06 +08:00
@tomari inference....搜狗的英文输入法有毒
ShienPro
2021-03-27 22:29:55 +08:00
临时用一下的话可以试试 systemd-run

```
systemd-run --unit=py-test python3 /absolute/path/test.py
```
xiaochong0302
2021-03-27 22:36:28 +08:00
关键看你 test.py 里面是不是一次执行就结束了,你写个死循环试试
leavic
2021-03-27 23:04:02 +08:00
supervisor 就很好用
lithiumii
2021-03-27 23:13:12 +08:00
@chenqh Gitlab 可以免费私有镜像,另外其实可以把镜像直接当文件拷来拷去 (docker save 和 load)
chenqh
2021-03-27 23:50:20 +08:00
@lithiumii 镜像文件太大了,动不动几百 M
oisadfo
2021-03-28 00:32:40 +08:00
应该是你的程序有 BUG,自己退出了
irytu
2021-03-28 00:35:03 +08:00
守护进程吧 不过最好弄下 logging 方便看问题 https://pypi.org/project/python-daemon/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/765656

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX