使用 Systemd 管理 TTRSS 更新进程
话说以前自己 TTRSS 的后台更新是靠 screen 或者 tmux ,虽然感觉麻烦,但是 it works ,不过换到 16.04 后,不知道为何更新进程老是挂掉,看了下似乎是内存不足的问题,明明 14.04 的时候完全没啥问题。
看了下 TTRSS 的 wiki ,更新方法都写的很清楚了: UpdatingFeeds
其中使用 Systemd 的应该是很方便,以前没看过这方面的内容,今天就看了看。
更新 TTRSS 的话,直接复制 wiki 的内容就可以了。在 /etc/systemd/system/ 文件夹下创建一个 ttrss.service 文件,填入下面的内容:
1 | [Unit] |
- 查看输出:
journalctl -u ttrss - 开机启动:
sudo systemctl enable/disable ttrss
About Systemd
相关的路径:
/etc/systemd/system/*- 供系统管理员和用户使用/run/systemd/system/*- 运行时配置文件/usr/lib/systemd/system/*- 安装程序使用
基本命令:
显示状态:
systemctl status显示激活的单元:
systemctl / systemctl list-units控制与状态相关:
systemctl start/stop/reload/status <单元>开机启动相关:
systemctl is-enabled/enable/disable <单元>禁用与恢复:
systemctl mask/unmask <单元>显示帮助:
systemctl help <单元>重载 Systemd:
systemctl daemon-reload
单元文件内容:
如前文 ttrss 的示例:
1 | [Unit] |
[Unit] - 记录unit文件的通用信息
Description: 描述内容Requires: 依赖的服务,若选择单元未启动,则本单元启动失败Wants: 依赖的服务,但选择单元未启动,对本单元无影响After/Before: 定义启动顺序
[Service] - 记录 Service 的信息
Type: 服务启动方式User/Group: 用户/用户组ExecStart: 启动时执行的命令ExecStartPre,ExecStartPost: ExecStart执行前后所调用的命令。ExecStop: 定义停止服务时所执行的命令,定义服务退出前所做的处理。如果没有指定,使用systemctl stop xxx命令时,服务将立即被终结而不做处理。Restart: 定义服务何种情况下重启(启动失败,启动超时,进程被终结)。可选选项:no, on-success, on-failure,on-watchdog, on-abort
[Install] - 安装信息
WantedBy: 何种情况下,服务被启用。WantedBy=multi-user.target(多用户环境下启用)Alias: 别名
参考链接: