因为 libtorrent 全是 bug,所以用了它的 qBittorrent 经常会莫名其妙出现一些错误,然后自己挂掉。虽然每次的 backtrace 都是在 libtorrent 里面出现的错误,但是同样用了 lt 的 Deluge 就一点都没有问题,所以估计这俩的代码都写得太差吧。
因此,写了一个简单的脚本去监控 qb 的运行状态,在它挂掉的时候自动重启,在漏内存的时候自动 kill 掉重开一个。
具体代码可以看 Github。默认行为是在 Xserver 存在的情况下启动 GUI 版的 qb,如果没有 Xserver 就启动 qbittorrent-nox,一分钟检测一次运行状态,挂了就重开。
如果在 VNC 下面使用 GUI 版的 qb,且想要随着桌面自动启动的话,需要在 ~/.config/autostart 下放置一个 desktop 文件
如果想看到一个 Terminal,并且监控一下重启的原因,用这个版本:
[Desktop Entry] Encoding=UTF-8 Version=0.9.4 Type=Application Name=qBittorrent-daemon Comment= Exec=bash -c '/usr/bin/python3 <path>/launch.py' OnlyShowIn=XFCE; StartupNotify=false Terminal=true Hidden=false
如果不需要看到那个 Terminal,用这个版本:
[Desktop Entry] Encoding=UTF-8 Version=0.9.4 Type=Application Name=qBittorrent-daemon Comment= Exec=/usr/bin/python3 <path>/launch.py OnlyShowIn=XFCE; StartupNotify=false Terminal=false Hidden=false