diff --git a/服务器的启动与关闭.md b/服务器的启动与关闭.md new file mode 100644 index 0000000..393e133 --- /dev/null +++ b/服务器的启动与关闭.md @@ -0,0 +1,39 @@ +## 启动与参数 + +- 先参考启动参数帮助: +```bash +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): 指定事件驱动线程(干重活)和后台工作线程(干阻塞的活)个数。 + +- 启动命令: + +![图片](https://user-images.githubusercontent.com/11495632/93867961-579bae00-fcfc-11ea-843a-dcb473957fb7.png) + + +- 注意事项: + - 1、如果你启动MediaServer后需要关闭shell,那么好需要输入 `exit`退出shell,否则关闭shell会导致MediaServer一起被关闭。 + - 2、如果你会使用到FFmpeg相关功能,你应该这样启动程序`nohup ./MediaServer -d &`,否则在fork FFmpeg进程时会导致MediaServer进程挂起。 + + +## 关闭服务器 +- 如果你是后台启动方式,请在shell中输入`killall -2 MediaServer`以便优雅关闭服务器(程序收到SIGINT信号后会自动释放资源并退出)。 +- 否则你可以同时按下`Ctr + C`退出程序。 +- MediaServer退出时日志如下: + +![图片](https://user-images.githubusercontent.com/11495632/93867941-51a5cd00-fcfc-11ea-8ab7-be5914929c90.png) + +