在ubuntu 系统中,我想要开机执行cd /opt/ZLMediaKit/release/linux/Debug/,然后执行nohup ./MediaServer -d & 改如何做
时间: 2024-12-15 19:27:55 浏览: 6
在Ubuntu系统中,如果你想在每次启动时自动运行`cd /opt/ZLMediaKit/release/linux/Debug/`并执行`nohup ./MediaServer -d &`,你可以通过创建一个启动脚本来完成这个任务。这个脚本通常会放在`/etc/init.d`目录下,或者如果你使用的是Systemd,可以放到`/usr/lib/systemd/system`。
以下是创建启动脚本的基本步骤:
1. **创建启动脚本**:
使用文本编辑器如nano打开一个新的文件,例如`sudo nano /etc/init.d/mymediaserver`,将内容设置为你需要执行的命令:
```
#!/bin/bash
cd /opt/ZLMediaKit/release/linux/Debug/
nohup ./MediaServer -d &
```
2. **添加执行权限**:
```
sudo chmod +x /etc/init.d/mymediaserver
```
3. **设置启动脚本**:
- 对于旧版Ubuntu(基于Upstart),在 `/etc/rc.local` 或 `/etc/rc2.d/S99mymediaserver` 添加一行指向新脚本:
```
ln -s /etc/init.d/mymediaserver /etc/rc2.d/S99mymediaserver
```
- 对于Systemd,你需要创建一个service文件(假设名为`mymediaserver.service`)并在`/etc/systemd/system`目录下编辑:
```yaml
[Unit]
Description=My Media Server
After=network.target
[Service]
ExecStart=/etc/init.d/mymediaserver start
Restart=always
User=root
WorkingDirectory=/opt/ZLMediaKit/release/linux/Debug/
[Install]
WantedBy=multi-user.target
```
然后启用服务:
```
sudo systemctl daemon-reload
sudo systemctl enable mymediaserver.service
```
4. **测试脚本**:
```
sudo service mymediaserver start
```
5. **验证是否按预期运行**:
查看日志文件(通常是`/var/log/syslog`或`/var/log/<your_service_name>.log`),确认`MediaServer`是否已在后台正常运行。
记得检查脚本中的路径和命令是否正确,如果遇到问题,可能需要相应调整。
阅读全文