tsup 的安装配置和使用详解

12 min read

Tsup 是一个轻量级的工具,能够管理和监控多个进程,避免进程意外退出和过期等问题。下面是 tsup 的安装配置和使用详解。

安装和配置

  1. 安装 tsup

可以使用 pip 安装 tsup:

$ pip install tsup

在安装过程中,可能需要安装其他依赖包,如 gevent、Flask、psutil 等。

  1. 配置 tsup

tsup 配置文件默认存储在 ~/.config/tsup/tsup.conf,可以通过 --config 参数指定配置文件的位置或名称。配置文件是一个标准的 INI 文件,内容包括全局配置和进程配置:

[global]
# 全局配置

[process:web]
# 进程配置

以下是常用的全局配置:

  • pidfile:tsup 的 PID 文件路径,默认为 ~/.tsup/tsup.pid。
  • loglevel:日志级别,默认为 INFO。
  • logfile:日志文件路径,默认为 ~/.tsup/tsup.log。
  • auto_reload:是否自动重载进程,默认为 True。
  • max_restarts:每个进程最大重启次数,默认为 -1(表示没有限制)。
  • restart_interval:进程重启间隔时间(秒),默认为 3。

以下是常用的进程配置:

  • cmd:需要管理的进程命令。
  • numprocs:需要启动进程数,默认为 1。
  • autostart:是否随 tsup 启动自动启动,默认为 True。
  • autorestart:是否自动重启进程,默认为 True。
  • startretries:启动进程失败重试次数,默认为 3。
  • startsecs:启动进程时间超过多少秒认为启动失败,默认为 1。
  • stopsignal:杀死进程的信号,默认为 TERM。
  • stopwaitsecs:杀死进程等待时间(秒),超过该时间后强制杀死进程,默认为 10。

使用

  1. 启动 tsup

可以使用以下命令启动 tsup:

$ tsup -c <配置文件>

默认情况下,tsup 会在后台启动,并监听所有进程的状态。可以指定 --foreground 参数以前台模式启动,以便查看日志。可以使用以下命令停止 tsup:

$ tsup stop
  1. 编辑配置文件

通过编辑配置文件,可以添加、删除或修改需要管理的进程。以下是一个简单的示例:

[global]
pidfile = /tmp/tsup.pid
logfile = /tmp/tsup.log

[process:web]
cmd = python web.py
numprocs = 3
autostart = false
autorestart = true
startretries = 3
stopsignal = INT
stopwaitsecs = 10

该示例中,tsup 只监听一个名为 web 的进程,该进程通过执行 python web.py 启动,一共启动 3 个进程实例,自动管理和监控进程,并在进程启动失败时尝试重启 3 次,使用 INT 信号杀死进程,等待 10 秒后仍未退出即强制杀死进程。

  1. 管理进程

可以使用以下命令管理进程:

$ tsup start <进程名称>    # 启动指定进程
$ tsup stop <进程名称>     # 停止指定进程
$ tsup restart <进程名称>  # 重启指定进程
$ tsup status <进程名称>   # 查看指定进程状态
$ tsup reload <进程名称>   # 重新载入指定进程配置

可以使用以下命令查看所有进程状态:

$ tsup status

也可以使用以下命令查看指定进程的日志:

$ tail -f <日志文件路径>

总结

以上是 tsup 的安装配置和使用详解,通过 tsup,我们可以轻松管理和监控多个进程,并保证进程的稳定性和可靠性。