Supervisor 或 Systemd进程管理器


Supervisor 是一个进程管理工具,它可以监控并管理多个进程。你可以使用以下步骤将 Go 程序添加到 Supervisor:

1. 安装 Supervisor。

2. 编写一个 Supervisor 配置文件,例如:

```ini
[program:myprogram]
command=/path/to/myprogram
autostart=true
autorestart=true
user=username
```

这个配置文件中定义了一个名为 myprogram 的程序。它的命令是 /path/to/myprogram,启用了自动启动和自动重启,以及运行该程序的用户名为 username。

3. 将配置文件保存到 Supervisor 配置目录并重载配置文件:

```shell
sudo supervisorctl reread
sudo supervisorctl update
```

4. 启动或重启程序:

```shell
sudo supervisorctl start myprogram
sudo supervisorctl restart myprogram
```

Systemd 是一个系统和服务管理工具,它可以管理 Linux 中的多个服务。你可以使用以下步骤将 Go 程序添加到 Systemd:

1. 编写一个 Systemd unit 文件,例如:

```ini
[Unit]
Description=My Go Program
After=network.target

[Service]
User=username
ExecStart=/path/to/myprogram
Restart=always

[Install]
WantedBy=multi-user.target
```

这个文件中定义了一个名为 myprogram.service 的服务,表明该服务要在启动之后启动网络连接。服务的执行者是 username,执行的命令是 /path/to/myprogram。这个服务总是重启。

2. 将 unit 文件复制到 Systemd 的配置目录中:

```shell
sudo cp myprogram.service /etc/systemd/system/
```

3. 刷新 Systemd 并启用该服务:

```shell
sudo systemctl daemon-reload
sudo systemctl enable myprogram.service
```

4. 启动或重启服务:

```shell
sudo systemctl start myprogram.service
sudo systemctl restart myprogram.service
```

这些工具可以让你更方便地管理和重启 Go 程序,在服务器出现问题时可以减少重启的时间和工作量。