【Linux】 开启关闭MediaMTX服务
在 Linux(如 CentOS 7) 上运行的 MediaMTX 可以通过几种方式来 开启(启动) 和 关闭(停止)。
下面我会分别说明三种常见场景:
- ✅ 使用 systemd 服务方式 管理(推荐)
- ✅ 使用 nohup 后台运行方式
- ✅ 使用 Docker 容器运行方式
🧩 一、使用 systemd(推荐方式)
如果你是按照我之前提供的脚本安装的 MediaMTX,
系统里会有一个服务文件 /etc/systemd/system/mediamtx.service
,
你可以直接使用下面的命令来管理。
🟢 启动 MediaMTX
systemctl start mediamtx
🔴 停止 MediaMTX
systemctl stop mediamtx
🔁 重启 MediaMTX
systemctl restart mediamtx
📊 查看运行状态
systemctl status mediamtx
⚙️ 设置为开机自启
systemctl enable mediamtx
❌ 取消开机自启
systemctl disable mediamtx
🧰 二、使用 nohup 方式(无 systemd / 精简系统)
如果你的系统是 精简版 CentOS 7,没有 systemd
,可以用 nohup
启动。
🟢 启动 MediaMTX
nohup /usr/local/bin/mediamtx /etc/mediamtx/mediamtx.yml > /var/log/mediamtx.log 2>&1 &
启动后会在后台运行,并将日志写入 /var/log/mediamtx.log
。
📋 查看运行进程
ps -ef | grep mediamtx
你会看到类似:
root 1287 1 0 18:22 ? 00:00:00 /usr/local/bin/mediamtx /etc/mediamtx/mediamtx.yml
🔴 停止 MediaMTX
方法一:通过 kill
pkill mediamtx
方法二:查 PID 手动杀掉
ps -ef | grep mediamtx
kill <PID>
示例:
kill 1287
🐳 三、如果使用 Docker 安装的 MediaMTX
🟢 启动容器
docker start mediamtx
🔴 停止容器
docker stop mediamtx
🔁 重启容器
docker restart mediamtx
📋 查看容器状态
docker ps -a | grep mediamtx
✅ 四、快速判断 MediaMTX 是否已启动
netstat -tulnp | grep mediamtx
正常情况下你会看到类似输出:
tcp6 0 0 :::8554 :::* LISTEN 1287/mediamtx
tcp6 0 0 :::8889 :::* LISTEN 1287/mediamtx
表示:
- 8554 是 RTSP 服务端口
- 8889 是 WebRTC / Web 管理界面端口
💡 小结
环境类型 | 启动命令 | 停止命令 | 查看状态 | |
---|---|---|---|---|
systemd | systemctl start mediamtx | systemctl stop mediamtx | systemctl status mediamtx | |
nohup 运行 | nohup mediamtx /etc/mediamtx/mediamtx.yml & | pkill mediamtx | `ps -ef | grep mediamtx` |
Docker | docker start mediamtx | docker stop mediamtx | docker ps |
是否希望我帮你写一个命令行脚本(如 mediamtxctl
),
让你可以直接用:
mediamtxctl start
mediamtxctl stop
mediamtxctl status
自动检测是 systemd / nohup / Docker 并执行对应操作?