树莓派网络视频监控项目杂谈

1:在树莓派的deban系统下安装vlc后,通过cvlc -h, 可以查看对vlc音视频的配置选项和传输方式的语法

2:在树莓派的deban系统下,/etc目录下没有的话自建个superv.d目录,此目录下可以放置自己的配置文件,此配置发起的线程系统就可将视为

后台的守护进程。

例如 我们添加的raspi.conf

[program:rpicam]
command= /home/pi/runserver.sh
autorestart=true
user=pi


是将runserver服务进程设为后台守护进程原理是可在/tmp下生成supervisor.sock和supervisor.pid时刻检测其正常运行

3:树莓派下可执行raspivid查看摄像头的相关设置命令

4:树莓派的rc.local文件

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address

su -l pi -c  "startx &"

_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
sudo supervisord
exit 0

5:supervisor工具使用 (supervisord监控详解)

supervisor是用 pathon写的一个工具,是比较好的服务管理工具,一个很重要的功能就是监控服务器主要服务,并且在出现问题时进行重启

1 Supervisord的安装

Supervisord是运行在python环境下的服务监控程序。所以在安装supervisord之前必须有python环境。

如果系统没有PYTHON,键入:yum install python(CENTOS)或者apt-get installpython(UBUNTU)

键入:yum install python-setuptools

easy_install supervisor

两个命令。进行supervisor安装

如果成功。键入: echo_supervisord_conf,会显示一个superviscord_conf 的配置模板。

键入:echo_supervisord_conf >/etc/supervisord.conf

生成一个supervisord的配置文件

安装就完成了

2启动supervisord

键入:supervisord

启动supersord服务程序

键入:supervisordctrl

可以进行一系列命令控制。最最要的有reload start stop restart命令。

Reload重新载入supervisord.conf,一般只在修改supervisord.conf后使用,这个会让修改相关程序配置的程序关闭。没有修改过的程序配置的程序不会有影响。

Start启动应用程序,可以批处理多个程序

Stop停止应用程序,可以批处理多个程序

Restart重启应用程序,可以批处理多个程序

3Supervisord的配置文件

键入: vim /etc/supervisord.conf

在文件的末尾添加一个storm ui程序监控,配置如下:

;storm ui

[program:ui]

command=/usr/storm/storm/ui-sv.sh ;被监控程序指定的运行脚本

directory=/usr/storm/storm ;被监控程序运行的路径

autostart=false ;是否随supervisord进程启动而启动,包括reloadconf

autorestart=true ;被监控程序异常中断是否自动重启

startsecs=5 ;被监控程序启动时持续时间

startretries=5 ;被监控程序启动失败重试的次数

redirect_stderr=true ;是否重定向std err

stdout_logfile=/tmp/ui-sv.log ;stdou 重定向输出文件

stdout_events_enabled=true ;是否允许stdout事件

stopsignal=QUIT ;被监控程序kill的信号

如果command的栏运行的是shell脚本,那么在shell 脚本启动被监控程序时要用exec修饰。例如:

#!/bin/bash

exec /home/scott/install/storm/storm-0.9.0.1/bin/stormnimbus

否则,supervisord停止不了启动的进程.除此之外,shell脚本里不能出现&之类的后台运行符号。

4supervisorctl命令

4.1reload命令

当你修改了supervisord.conf时,要让配置立即生效,键入:

supervisorctlreload

配置就生效了

4.2start命令

当你需要启动一个已配置的program时,键入:

Supervisorctlstart xxx

值得注意的是 xxx是supervisord.conf指定的名字,例如:

[program:ui],ui就是supervisorctl要控制的程序xxx

这个命令也可以批处理一批程序

Supervisorctlstar xxx1 xxx2 xxx3 …….

被监控程序的启动顺序和start参数顺序一致

4.3stop命令

当你需要停止一个已监控的程序时,键入:

Supervisorctlstop xxx

这个命令和start用法一致,可以批处理多个程序。

4.4restart

当你需要重启一个被监听程序时,键入:

Supervisorctlrestart xxx

这个命令和start用法一致,可以批处理多个程序。

4.5status

当你需要查看supervisord监控了什么程序,你只需要键入:

Supervisorctl status

就可以显示:

kafka STOPPED May 27 01:57 PM

nimbus STOPPED Not started

sv RUNNING pid 24072, uptime 1:05:41

ui STOPPED Not started

其他的命令就不在介绍了,用的比较少。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值