V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
azev
V2EX  ›  问与答

Linux 下常驻后台运行的程序,怎么弄比较好?

  •  
  •   azev · Dec 20, 2019 · 3269 views
    This topic created in 2330 days ago, the information mentioned may be changed or developed.
    想把做好的一个 python 程序常驻后台,查了下有不少是做成守护进程,但有点疑问,这个是惯用做法吗?
    我看有些程序直接就是 nohup ... & 一下就完事了。

    大家通常会怎么做呢?包括其他比如 java 程序,go 程序之类
    12 replies    2019-12-21 11:47:08 +08:00
    Trim21
        1
    Trim21  
       Dec 20, 2019 via Android
    写个 systemd 的 unit 文件
    azev
        2
    azev  
    OP
       Dec 20, 2019
    @Trim21
    嗯 这是个不错的选择
    iamwho
        3
    iamwho  
       Dec 20, 2019
    短时间常驻,tmux
    xiri
        4
    xiri  
       Dec 21, 2019 via Android
    短时间常驻我喜欢用 screen、tmux 之类的,因为可以随时切过去查看状态,长时间或涉及到开机自启的话还是老老实实写 systemd 脚本吧
    Trim21
        5
    Trim21  
       Dec 21, 2019 via Android
    如果用 docker 的话也可以做成 docker,restart=always…
    Sanko
        6
    Sanko  
       Dec 21, 2019 via Android
    nohup + crontab
    mikuazusa
        7
    mikuazusa  
       Dec 21, 2019
    pm2,还带异常重启和简单管理
    ClericPy
        8
    ClericPy  
       Dec 21, 2019
    别的都淘汰了, systemd 已经一统江湖

    当然了, 一些进程管理系统配合优雅的 WebUI 也挺好的

    比如:

    用过四五年 Python supervisor, 那 web 对中文极不友好, 只有 tail 强制配 U8 才能看中文, 想魔改它的代码都没法改, 那 web 实现的代码太脏了... 如果重新写个 UI, 我情愿写 systemd 的. 看了替代品 https://alternativeto.net/software/supervisor/ 也没列几个靠谱的

    试用过 PM2, 终端的 UI 还是简洁清晰, 不过后来懒得装 nodejs, 就弃了

    想用 Circus 来着, 号称 Python3 怎么怎么友好, 我感觉对我很不友好

    如果有什么 golang 版本的就舒服了, 安装方便, 性能也不错最好. 现在基本只用 systemd 了
    weixiangzhe
        9
    weixiangzhe  
       Dec 21, 2019 via Android
    pm2 确实很方便,还带监控好东西
    tt67wq
        10
    tt67wq  
       Dec 21, 2019
    systemd
    seakingii
        11
    seakingii  
       Dec 21, 2019
    nohup ... & 没有异常重启,没有开机自动运行, 简单的不重要 的可以偶尔用下

    我一般用 supervisor ,
    pm2 偶尔用
    现在一般用 docker 了.docker 也有守护的功能
    zbttl
        12
    zbttl  
       Dec 21, 2019
    nohup+init.d
    supervisor
    systemd
    pm2

    推荐中间那两个,第一个太简单最后一个资源占用太大把我吓退了
    supervisor 配置文件写起来简单但你要关掉哪个自启的话就麻烦了
    systemd 相反(不过听说太复杂经常被社区抵制来着)

    tmux 和 screen 也能用但个人认为不是个好主意(管理不善容易乱),除非你要看日志
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4099 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 00:52 · PVG 08:52 · LAX 17:52 · JFK 20:52
    ♥ Do have faith in what you're doing.