V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
V2EX  ›  Linux

树莓派 resilio 进程 守护 问题

  •  
  •   songz · 10 天前 · 1152 次点击

    在树莓派上用 rc.local 开机启动 resilio 的程序文件

    #!/bin/sh -e
    /home/pi/rslsync --webui.listen 0.0.0.0:8888 &
    exit 0
    

    (这是对我来说在方便简单的开机启动方法,而且这样运行是 root,可以方便添加任何文件夹)

    问题是 rslsync 会意外终止运行

    我只能重启解决

    所以有什么适合我现在情况的方法

    令 rslsync 保持运行呢

    谢谢各位!

    第 1 条附言  ·  9 天前
    #!/bin/bash
    pidof rslsync >/dev/null
    if [[ $? -ne 0 ]] ; then
    /home/pi/rslsync --webui.listen 0.0.0.0:8888 &
    fi
    19 回复  |  直到 2018-01-11 14:51:08 +08:00
        1
    tomczhen   10 天前
    docker run --restart=always
        2
    mt7620   10 天前
    apt-get install supervisor
        3
    xiaoz   10 天前
    写个脚本检查 rslsync 是否运行,如果没有运行则启动。添加到 crontab 中,5 分钟执行一次。
        4
    songz   10 天前
    @xiaoz #3 這個腳本主要用到哪個命令啊?
        5
    Panic   10 天前
    @songz 难道不是 ps 吗, ps 之后 grep 下进程命,没有就说明程序挂了
        6
    WordTian   10 天前 via iPhone
    自己写个 systemd 的 service 启动脚本
        7
    songz   10 天前
    @WordTian #6 這過對我來說太複雜了
        8
    songz   10 天前
    @Panic #5 這個 ps 我會寫,那運行 resilio 怎麼寫呢?
    我測試過 resilio 在不同用戶下啓動,web 頁裏的 設置 /文件夾 都不一樣
    rc.local 說是 root 用戶執行
    我在樹莓派 sudo su 之後執行 resilio, 並沒有讀回來設置
    所以很困擾
        9
    bazingaterry   10 天前 via iPad
    pm2
        10
    wwqgtxx   10 天前 via iPhone
    systemd
        11
    leavic   10 天前
    supervisor 最高
        13
    DesignerSkyline   10 天前
    systemd:

    Restart=Always
        14
    benjix   10 天前 via iPhone
    用 systemd
    vim /lib/systemd/system/rslsync.service


    [Unit]
    Description=rslsync
    After=network.target

    [Service]
    ExecStart=/etc/resiliosync/rslsync --config /etc/resiliosync/sync.conf --nodaemon

    [Install]
    WantedBy=multi-user.target

    自己用的没挂过,如果会挂掉就加 Restart=Always
        15
    songz   10 天前
    @Rheinmetal #12 是不是我在 supervisord 裏配置了 resilio 啓動,就不需要 rc.local 了?
        16
    Rheinmetal   10 天前
    @songz 是的 启动 supervisord 就行了
        17
    Cabana   10 天前 via Android
    Systemd + 1
        18
    bao3   9 天前 via iPhone
    楼主有两个选择,楼上已经说过了,要么用 docker 跑而不必写脚本。要么用 supervisor 自己启动。
        19
    songz   9 天前
    @xiaoz #3 append 了一個腳本,應該加在 sudo crontab 還是 crontab 呢
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   774 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 58ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1