nohup python3 test.py &
网上搜了半天是使用这个命令,但是关闭窗口后进程还是结束了
网上还说 nohup 按任意键回到 shell,再用 exit 退出,但是关闭窗口后进程还是结束了
求大佬指点
网上搜了半天是使用这个命令,但是关闭窗口后进程还是结束了
网上还说 nohup 按任意键回到 shell,再用 exit 退出,但是关闭窗口后进程还是结束了
求大佬指点
69 条回复 • 2021-03-30 11:16:23 +08:00
|
1
lambdafate 2021 年 3 月 27 日 强推 screen 命令, 谁用谁知道
|
|
2
privapps 2021 年 3 月 27 日
nohup 之后,用
disown %% 再试试 |
|
3
ByteCat 2021 年 3 月 27 日
写成服务运行,懒的话直接 screen
|
|
4
mmtromsb456 2021 年 3 月 27 日
关键词进程守护,相对更加稳定并且在服务意外关闭后可以自动重启
可以选用一般发行版自带的 systemd,注册一个 systemd 服务进行管理即可,或者环境中已经存在 python 对额外添加包不敏感的话也可以用 supervisor. 如果没有这些要求的话,简单的使用 screen 命令创建一个 deattach 的 shell 来执行你的命令即可 |
|
5
johnsona 2021 年 3 月 27 日 via iPhone
screen
|
|
6
Tink 2021 年 3 月 27 日 via Android
最简单就是你说的这个,然后依次是 screen-tmux-supervisor-systemd 等等
|
|
8
hertzry 2021 年 3 月 27 日 via Android
感觉 7#说的有道理。
|
|
9
rebang 2021 年 3 月 27 日
进程管理器 pm2 挺不错的
|
|
10
ClericPy 2021 年 3 月 27 日 按优先级推荐, 场景不一样
systemd supervisord, 如果有时间调度 azkaban, airflow tmux 还是看点 linux 基础吧... |
|
12
cmos 2021 年 3 月 27 日 又到了我来安利 systemd 的时候了
按照下面的来,注意一下文件路径即可。 ``` [Unit] Description=Python Service After=multi-user.target [Service] WorkingDirectory=/path User=root Type=idle ExecStart=/usr/bin/python3 /path/python.py Restart=always [Install] WantedBy=multi-user.target ``` |
|
13
G2bN4dbX9J3ncp0r 2021 年 3 月 27 日
supervisord
systemd |
|
14
yungo8 2021 年 3 月 27 日 via Android
我用 nohup 没毛病,参考一下 7 楼意见
|
|
15
aheadlead 2021 年 3 月 27 日 via iPhone
打个 docker image 不香吗
|
|
16
ipwx 2021 年 3 月 27 日
supervisor
|
|
17
poterliu 2021 年 3 月 27 日
Java 启动是这样的,可以参考一下:
nohup java -jar 应用名 > 日志文件名>&1 & |
|
18
wtks1 2021 年 3 月 27 日 via Android
命令前加 setsid
|
|
19
ylz 2021 年 3 月 27 日
byobu 也很好用
|
|
21
seakingii 2021 年 3 月 27 日 我喜欢 supervisor
|
|
22
7gugu 2021 年 3 月 27 日 via iPhone
screen
|
|
23
mingff258 2021 年 3 月 27 日
如果是在 VS Code 里面运行 nohup 的话,是会有问题的,使用普通 ssh 客户端执行就行了。
|
|
24
CodeCodeStudy 2021 年 3 月 27 日
|
|
25
imldy 2021 年 3 月 27 日
systemd 或 tmux 。
前者适合长期使用,后者适合临时后台运行 |
|
26
yucongo 2021 年 3 月 27 日
tmux 或 pm2
喜欢折腾的话还可以装 tmux-resurrect 插件。 |
|
28
simple2025 2021 年 3 月 27 日
单机, docker 怎么 pull 呀,registry 放哪里?
|
|
29
WildCat 2021 年 3 月 27 日
tmux?
tmux attach #0? |
|
30
troilus 2021 年 3 月 27 日
screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。如果你想运行一个持久的进程或者从多个位置连接到 shell 会话,这也很方便。
|
|
31
SenLief 2021 年 3 月 27 日
7 楼的没有问题啊。我的 ddns 就是这样扔到后台的。很长时间了也没挂。
|
|
33
chinvo 2021 年 3 月 27 日 via iPhone
虚拟 tty 法 screen tumux byobu
服务法 systemd init.d |
|
34
2379920898 2021 年 3 月 27 日
nohup ./程序名 & 这样来用就 OK 了。。我发现这么多评论,都没有说道点子上,除了 32 楼
|
|
35
zhuweiyou 2021 年 3 月 27 日
screen
pm2 |
|
36
zhoudaiyu 2021 年 3 月 27 日 via iPhone
哪位老哥知道哪里有教程讲 systemd 的 service 文件里面的配置字段啊
|
|
37
ychost 2021 年 3 月 27 日
tmux 用起来美滋滋
|
|
38
Macv1994 2021 年 3 月 27 日
supervisor 也挺不错的 还支持 web 端 如果需要可以参考我写的博客 https://2dogz.cn/blog/article/3/
|
|
39
Rainwater 2021 年 3 月 27 日
exit 退出试一下,不要直接关闭连接窗口
|
|
40
realpg 2021 年 3 月 27 日
screen 就完了
|
|
41
MOONLIGHTT 2021 年 3 月 27 日
tmux+1
|
|
42
ronman 2021 年 3 月 27 日 via Android |
|
44
FransicZhang 2021 年 3 月 27 日 via Android
pm2 它不香嘛
|
|
46
nicevar 2021 年 3 月 27 日
大概率是程序写得有问题
|
|
48
nutting 2021 年 3 月 27 日 via Android
看看父进程是啥就能分析出来为啥挂不住了
|
|
49
yanfany 2021 年 3 月 27 日
用 screen
|
|
50
dapan24678 2021 年 3 月 27 日
个人感觉你还是先看看,不后台运行能跑起来不,很多时候是项目启动时报异常退出了,因为后台运行,异常信息也看不见,确定项目能跑起来了再用这个命令
|
|
51
cheneydog 2021 年 3 月 27 日
|
|
52
tomari 2021 年 3 月 27 日
tmux 或者 screen,deep learning 做 train 和 interfere 的时候常用。。
|
|
54
v2beta 2021 年 3 月 27 日
|
|
55
xiaochong0302 2021 年 3 月 27 日 via iPhone
关键看你 test.py 里面是不是一次执行就结束了,你写个死循环试试
|
|
56
leavic 2021 年 3 月 27 日
supervisor 就很好用
|
|
57
lithiumii 2021 年 3 月 27 日 via Android
@chenqh Gitlab 可以免费私有镜像,另外其实可以把镜像直接当文件拷来拷去 (docker save 和 load)
|
|
58
simple2025 2021 年 3 月 27 日
@lithiumii 镜像文件太大了,动不动几百 M
|
|
59
oisadfo 2021 年 3 月 28 日
应该是你的程序有 BUG,自己退出了
|
|
60
irytu 2021 年 3 月 28 日 via iPhone
守护进程吧 不过最好弄下 logging 方便看问题 https://pypi.org/project/python-daemon/
|
|
61
DaGongRen001 2021 年 3 月 28 日
nohup XXX &可能会因为环境变量问题导致运行失败,在敲第二下回车时就能看出来退出状态码是否为 0
|
|
62
www5070504 2021 年 3 月 28 日
nohup 还要注意错误的标准错误的重定向问题
|
|
63
litel 2021 年 3 月 28 日
pm2 大法好
nodejs 的时候就在用,py 也适用 |
|
64
julyclyde 2021 年 3 月 28 日
nohup 忽略 HUP 信号并重定向
& 放后台 按说这俩都用上之后,退出 ssh 应该是不会导致程序中断的啊…… 虽然不是正规做法,但是应该可以成功使用 |
|
65
Ealrang 2021 年 3 月 28 日
pm2 非常舒服
|
|
66
jeeyong 2021 年 3 月 28 日
我是 pm2, 跑了 5 年了快.
web 系统 nodejs, 业务服务是 python 都是用 pm2 |
|
67
julyclyde 2021 年 3 月 28 日
哦。我大概猜到了
后期版本的 systemd 在用户注销的时候会把残留进程也都关闭 还是请使用正确的 systemd-run |
|
68
SkyGuardian 2021 年 3 月 28 日
nohup & 是最简单的,但实际上不能用于部署服务
之前有一个 python 脚本跑了几个月没事,有天上去发现因为系统的原因 terminated 了 所以要正经部署的话,自己写个 systemd service,就算脚本遇到意外退出了,还可以自动重启 |
|
69
lylh1987 2021 年 3 月 30 日
pm2 大法好
|
推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide