ubuntu 系统程序挂掉怎么自动重启
时间: 2024-08-04 15:00:35 浏览: 112
在Ubuntu系统中,如果你希望当某个程序意外关闭(挂掉)后能够自动重启,你可以设置程序为守护进程(daemon),并使用`systemd`服务管理系统来管理。以下是基本步骤:
1. **设置程序为守护进程**:
- 创建一个启动脚本,例如`/etc/init.d/my_program`,使用`#!/bin/bash`作为开头,然后编写程序启动和停止的命令。
- 添加`setuid`或`setgid`,以便脚本能以特定用户或组运行。例如:
```
#!/bin/bash
exec /usr/bin/my_program &
```
2. **启用systemd**:
- 在启动脚本的最后添加一行,用于创建systemd服务:
```
chkconfig --add my_program
```
- 修改脚本权限并使之可执行:
```
chmod +x /etc/init.d/my_program
```
3. **配置systemd服务**:
- 使用文本编辑器打开`/etc/systemd/system/my_program.service`文件,并添加类似的内容:
```ini
[Unit]
Description=My Program
After=network.target
[Service]
User=your_username
WorkingDirectory=/path/to/program
ExecStart=/etc/init.d/my_program start
Restart=always # 设置程序始终重启
RestartSec=5 # 5秒后重新尝试重启
[Install]
WantedBy=multi-user.target
```
4. **启用服务**:
```bash
sudo systemctl enable my_program
```
5. **测试服务**:
```bash
sudo systemctl start my_program
```
现在,如果`my_program`意外崩溃,systemd会按照你设置的配置自动重启它。有关详细信息,可以查阅systemd官方文档。
阅读全文