Skip to content

服务器的启动与关闭

夏楚 edited this page May 16, 2023 · 6 revisions

程序所在路径

在编译zlmediakit后,会生成MediaServer主程序,该程序相对路径为release/${platform}/${build_type}/MediaServer

${platform}根据您的操作系统,可能为windows/linux/mac,${build_type}根据您cmake时指定的编译类型,可能为Debug/Release.

启动与参数

  • 先参考启动参数帮助:
xzl-mac-pro:Debug xzl$ ./MediaServer -h
  -h  --help     无参  默认:null                                                    选填  打印此信息
  -d  --daemon   无参  默认:null                                                    选填  是否以Daemon方式启动
  -l  --level    有参  默认:0                                                       选填  日志等级,LTrace~LError(0~4)
  -m  --max_day  有参  默认:7                                                       选填  日志最多保存天数
  -c  --config   有参  默认:/Users/xzl/git/ZLMediaKit/release/mac/Debug/config.ini  选填  配置文件路径
  -s  --ssl      有参  默认:/Users/xzl/git/ZLMediaKit/release/mac/Debug/ssl.p12     选填  ssl证书文件或文件夹,支持p12/pem类型
  -t  --threads  有参  默认:8                                                       选填  启动事件触发线程数
  • 说明:

    • -d(--daemon): 是否以守护进程的方式启动,守护进程只做一件事,就是判断子进程(这个才是干活的进程)是否已经退出,退出后会不断尝试重启子进程。
    • -l(--level): 指定日志打印等级,赋值范围为0~4,等级越高,日志越少。
    • -m(--max_day): 日志文件保存天数,程序本次运行期间的日志如果超过这个天数,就会被删除。
    • -c(--config): 指定配置文件路径,配置文件为ini格式,请参考ZLMediaKit的默认配置文件。
    • -s(--ssl): 指定ssl证书路径,证书格式支持p12和pem类型,里面必须包含公钥和私钥,私钥不能有加密密码。如果指定文件夹,会加载文件夹下所有证书。
    • -t(--threads): 指定事件驱动线程(干重活)和后台工作线程(干阻塞的活)个数。
  • 启动命令:

图片

  • 注意事项:
    • 1、如果你启动MediaServer后需要关闭shell,那么好需要输入 exit退出shell,否则关闭shell会导致MediaServer一起被关闭。
    • 2、如果你会使用到FFmpeg相关功能,你应该这样启动程序nohup ./MediaServer -d &,否则在fork FFmpeg进程时会导致MediaServer进程挂起。

配置文件的热加载

修改并保存配置文件后,在shell里面输入killall -1 MediaServer就能使ZLMediaKit热加载配置文件,如果生效,会打印下面样式的日志: 图片

关闭服务器

  • 如果你是后台启动方式,请在shell中输入killall -2 MediaServer以便优雅关闭服务器(程序收到SIGINT信号后会自动释放资源并退出)。
  • 否则你可以同时按下Ctr + C退出程序。
  • MediaServer退出时日志如下:

图片

Clone this wiki locally