nginx+rtmp子进程管理不当导致频繁的deleteStream(未断开连接)

原创 于 2016-01-04 10:11:25 发布 · 4.1k 阅读
· 2
· 1 ·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文讨论了在nginx+rtmp模块中,由于子进程管理不当导致的频繁deleteStream问题,即客户端未断开连接时,服务器内部错误地断开了流。这种情况会导致ffmpeg进程成为孤儿并持续到输入数据超时。解决方法是在bash中创建一个exec包装器,通过信号陷阱来处理SIGTERM,确保ffmpeg进程在接收到nginx-rtmp的kill信号时能正确终止。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当客户端未断开连接,内部却频繁断掉,频繁deleteStream and createStream

createStream, client: 127.0.0.1, server: 0.0.0.0:1935

2015/12/30 11:48:01 [info] 14#0: *8 play: 。。。client: 127.0.0.1, server: 0.0.0.0:1935

2015/12/30 11:48:09 [info] 14#0: *8 deleteStream, client: 127.0.0.1, server: 0.0.0.0:1935

2015/12/30 11:48:09 [info] 14#0: *8 recv() failed (104: Connection reset by peer), client: 127.0.0.1, server: 0.0.0.0:1935

2015/12/30 11:48:09 [info] 14#0: *8 disconnect, client: 127.0.0.1, server: 0.0.0.0:1935

2015/12/30 11:48:09 [info] 14#0: *8 deleteStream, client: 127.0.0.1, server: 0.0.0.0:1935

2015/12/30 11:48:09 [info] 14#0: *1 exec: child 152 exited; ignoring, client: 。。。客户端IP, server: 0.0.0.0:1935

2015/12/30 11:48:09 [notice] 14#0: signal 17 (SIGCHLD) received

2015/12/30 11:48:09 [notice] 14#0: signal 17 (SIGCHLD) received

2015/12/30 11:48:09 [notice] 14#0: unknown process 152 exited with code 1

2015/12/30 11:48:09 [notice] 14#0: unknown process 152 exited with code 1

2015/12/30 11:48:09 [info] 14#0: *1 exec: terminating child 152, client: 。。。 server: 0.0.0.0:1935

2015/12/30 11:48:14 [info] 14#0: *1 exec: starting managed child '执行脚本', client: 。。。, server: 0.0.0.0:1935


解决办法

https://github.com/arut/nginx-rtmp-module/wiki/Exec-wrapper-in-bash


最低0.47元/天 解锁文章

200万优质内容无限畅学

确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
青春张开
关注 关注
  • 2
    点赞
  • 踩
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  • 分享
    复制链接
    分享到 QQ
    分享到新浪微博
    扫一扫
  • 举报
    举报
参与评论 您还未登录,请先 登录 后发表或查看评论
青春张开

博客等级

码龄12年
117
原创
135
点赞
22
收藏
32
粉丝
关注
私信

热门文章

  • gitlab重置密码 20345
  • C#中Dictionary字典取值 14367
  • Imagemagick文字水印需要的配置文件以及指定 6022
  • golang捕获http.ResponseWriter被close的两种方式(有无context) 5417
  • 图文详解Linux/ubuntu安装cloudstack 5414

分类专栏

  • Golang
    2篇
  • Linux
    13篇
  • Java Web
    19篇
  • 移动端android/ios
    22篇
  • 云计算
    12篇
  • 大数据
    12篇

展开全部 收起

上一篇:
Imagemagick文字水印需要的配置文件以及指定
下一篇:
FFMPEG架构分析

最新评论

  • 第一次使用七牛云存储的golang sdk

    圆圆的东柳君: 能不能稍微编辑一下,把代码用代码表格的形式呈现,这样方便直观的看,谢谢!

  • hadoop学习;大数据集在HDFS中存为单个文件;安装linux下eclipse出错解决;查看.class文件插件

    mineyoull: 怎么查看log文件呢?

  • MapReduce实现排序功能

    libingquan01: 请问提示找不到方法setSortComparatorClass该怎么解决?应该怎么import?

  • java中正则表达式用Pattern计算字符串的结果(四则运算);分成有括号和没括号;当然也可以采用逆波兰式

    TT_4419: 没有对除法做处理??

  • java中正则表达式用Pattern计算字符串的结果(四则运算);分成有括号和没括号;当然也可以采用逆波兰式

    故事我忘了i: 9*(6-7)有错?

大家在看

  • C语言第5讲

最新文章

  • Golang日志轮询
  • Vmware 搭建Centos7 Minimal支持共享
  • FFMPEG架构分析
2022年1篇
2017年1篇
2016年2篇
2015年4篇
2014年118篇
2013年3篇

目录

展开全部

收起

目录

展开全部

收起

上一篇:
Imagemagick文字水印需要的配置文件以及指定
下一篇:
FFMPEG架构分析

分类专栏

  • Golang
    2篇
  • Linux
    13篇
  • Java Web
    19篇
  • 移动端android/ios
    22篇
  • 云计算
    12篇
  • 大数据
    12篇

展开全部 收起

目录

评论
被折叠的  条评论 为什么被折叠? 到【灌水乐园】发言
查看更多评论
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值