群晖NAS用迅雷远程下载Xware 1.xxx的进程监视和掉线自动重启
2017-02-22 11:22
531 查看
迅雷远程下载Xware1.0运行时共有三个进程常驻后台:ETMDaemon、EmbedThunderManager、vod_httpserver,如下:
要保证迅雷远程下载功能正常,三个进程都必须在,为防止进程跑死可通过定时检查进程是否存在以保证远程下载功能正常。
经测试:只要ETMDaemon进程存在,另外两个进程EmbedThunderManager、vod_httpserver就会自动重启,所以只要定时检查ETMDaemon进程是否存在,若不存在,重启迅雷/mnt/sda3/xunlei/portal 。实现方法如下:
注意:笔者是在自己硬件上面测试的,测试时迅雷运行时只有三个进程,有坛友反映运行有10个进程,请坛友根据自己的运行情况修改下面脚本里面的“3”。或者直接用检测ETMDaemon 教程这个方法;
1、任意位置新建一个文件check_xunlei.sh,并配置权限,如:(有可能bin下面没有权限创建,可以创建到xunlei下面)
复制代码
2、利用vi 编辑器,或者直接用WinSCP编辑check_xunlei.sh,代码如下:
3、添加计划任务,每10分钟执行一次;
————————————————-分割线———————————————————
更保险的做法:3个进程只要有一个掉线就重启迅雷Xware。
步骤相同,check_xunlei.sh多增加几行代码;注意迅雷程序需要放在“xunlei”文件夹里,因为这里是靠检索“xunlei”关键字来计算进程数的。
2015-11-21 更新一下:增加进程监视日志,有兴趣的可以试一下:
生成的日志文件如下:
脚本运行时间:Fri Nov 20 14:10:01 CST 2015
———————————Check Start———————————-/
当前进程状态:
11002 root 9388 S /mnt/sda3/xunlei/lib/EmbedThunderManager [b]*[/b]
11006 root 2868 S /mnt/sda3/xunlei/lib/vod_httpserver:
迅雷进程数为:2
迅雷运行状态:Not OK#
迅雷进程重启:OK
11821 root 828 S /mnt/sda3/xunlei/lib/ETMDaemon /mnt/sda3/xunlei/lib/
11823 root 9384 S /mnt/sda3/xunlei/lib/EmbedThunderManager [b]*[/b]
11827 root 2868 S /mnt/sda3/xunlei/lib/vod_httpserver
———————————Check Over————————————#
脚本运行时间:Fri Nov 20 14:15:01 CST 2015
———————————Check Start———————————-
当前进程状态:
11821 root 828 S /mnt/sda3/xunlei/lib/ETMDaemon /mnt/sda3/xunlei/lib/
11827 root 2868 S /mnt/sda3/xunlei/lib/vod_httpserver
12307 root 9388 S /mnt/sda3/xunlei/lib/EmbedThunderManager [b]*[/b]
迅雷进程数为:35
迅雷运行状态:OK.
———————————Check Over————————————
# ps | grep volume1 23148 root 1976 S /volume1/ThunderDB/xware/lib/ETMDaemon /volume1/ThunderDB/xware/lib/EmbedThunderManager /dev/null /dev/null ******************** 23151 root 51628 S /volume1/ThunderDB/xware/lib/EmbedThunderManager ****************************************** 23152 root 3888 S /volume1/ThunderDB/xware/lib/vod_httpserver
要保证迅雷远程下载功能正常,三个进程都必须在,为防止进程跑死可通过定时检查进程是否存在以保证远程下载功能正常。
经测试:只要ETMDaemon进程存在,另外两个进程EmbedThunderManager、vod_httpserver就会自动重启,所以只要定时检查ETMDaemon进程是否存在,若不存在,重启迅雷/mnt/sda3/xunlei/portal 。实现方法如下:
注意:笔者是在自己硬件上面测试的,测试时迅雷运行时只有三个进程,有坛友反映运行有10个进程,请坛友根据自己的运行情况修改下面脚本里面的“3”。或者直接用检测ETMDaemon 教程这个方法;
1、任意位置新建一个文件check_xunlei.sh,并配置权限,如:(有可能bin下面没有权限创建,可以创建到xunlei下面)
1 cd /bin 2 touch check_xunlei.sh 3 chmod 777 check_xunlei.sh
复制代码
2、利用vi 编辑器,或者直接用WinSCP编辑check_xunlei.sh,代码如下:
#!/bin/sh printf "--------------------------Thunder Checking Start !-----------------------------\n" num=`ps | grep ETMDaemon | grep -v grep | grep -v check | wc -l` # 计算进程数 if [ $num -lt 1 ] # 判断ETMDaemon进程是否存在 then /mnt/sda3/xunlei/portal # 重启进程的命令,请相应修改 fi printf "--------------------------Thunder Checking Over !-----------------------------\n"
3、添加计划任务,每10分钟执行一次;
*/10 * * * * sh /bin/check_xunlei.sh
————————————————-分割线———————————————————
更保险的做法:3个进程只要有一个掉线就重启迅雷Xware。
步骤相同,check_xunlei.sh多增加几行代码;注意迅雷程序需要放在“xunlei”文件夹里,因为这里是靠检索“xunlei”关键字来计算进程数的。
#!/bin/sh printf "--------------------------Thunder Checking Start !-----------------------------\n" # 计算进程数 num=`ps | grep xunlei | grep -v grep | grep -v check | wc -l` if [ $num -lt 3 ] # 判断进程是否存在) then /mnt/sda3/xunlei/portal # 重启进程的命令,请相应修改 fi printf "--------------------------Thunder Checking Over !-----------------------------\n"
2015-11-21 更新一下:增加进程监视日志,有兴趣的可以试一下:
#!/bin/sh$ N% m" S( R! I% Z file_name="/mnt/sda3/xunlei/xl.log" #这是日志路径,请自行修改 echo -e '\n'"脚本运行时间:"`date` >> $file_name! echo -e "---------------------------------Check Start----------------------------------" >> $file_name echo -e "当前进程状态:" >> $file_name ps | grep xunlei | egrep -v 'grep|check' >> $file_name num=`ps | grep xunlei | egrep -v 'grep|check' | wc -l` # 计算进程数 echo -e "迅雷进程数为:"$num >> $file_name if [ $num -lt 3 ] # 判断进程是否存在# y+ B) ]' p# e) w then # L5 n I" h8 U) `- ` echo -e "迅雷运行状态:Not OK" >> $file_namef /mnt/sda3/xunlei/portal # 重启进程 sleep 10 num1=`ps | grep xunlei | egrep -v 'grep|check' | wc -l` # 计算进程数 if [ $num1 -eq 3 ] then echo -e "迅雷进程重启:OK" >> $file_name ps | grep xunlei | egrep -v 'grep|check' >> $file_name else echo -e "迅雷进程重启:Not OK" >> $file_name echo -e "等待下一周期重启" >> $file_name fi else echo -e "迅雷运行状态:OK" >> $file_name fi echo -e "---------------------------------Check Over------------------------------------" >> $file_name#
生成的日志文件如下:
脚本运行时间:Fri Nov 20 14:10:01 CST 2015
———————————Check Start———————————-/
当前进程状态:
11002 root 9388 S /mnt/sda3/xunlei/lib/EmbedThunderManager [b]*[/b]
11006 root 2868 S /mnt/sda3/xunlei/lib/vod_httpserver:
迅雷进程数为:2
迅雷运行状态:Not OK#
迅雷进程重启:OK
11821 root 828 S /mnt/sda3/xunlei/lib/ETMDaemon /mnt/sda3/xunlei/lib/
11823 root 9384 S /mnt/sda3/xunlei/lib/EmbedThunderManager [b]*[/b]
11827 root 2868 S /mnt/sda3/xunlei/lib/vod_httpserver
———————————Check Over————————————#
脚本运行时间:Fri Nov 20 14:15:01 CST 2015
———————————Check Start———————————-
当前进程状态:
11821 root 828 S /mnt/sda3/xunlei/lib/ETMDaemon /mnt/sda3/xunlei/lib/
11827 root 2868 S /mnt/sda3/xunlei/lib/vod_httpserver
12307 root 9388 S /mnt/sda3/xunlei/lib/EmbedThunderManager [b]*[/b]
迅雷进程数为:35
迅雷运行状态:OK.
———————————Check Over————————————
相关文章推荐
- python脚本自动监视tomcat进程,如果崩溃就自动重启
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- linux下监视进程,若进程关闭则自动重启
- Tomcat进程运行监视并自动重启的脚本
- docker(三)反正我不喜欢敲命令,daocloud.io管理你的docker,安装远程下载工具aria2 迅雷远程下载 xware
- Linux下tomcat进程运行监视并自动重启的脚本
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- Linux下Tomcat进程运行监视并自动重启的脚本
- python脚本自动监视tomcat进程,如果崩溃就自动重启
- 如何监视一个进程,崩溃挂掉后自动重启
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- Shell脚本之监视主进程的运行状态,异常退出后自动重启
- 【原】用shell脚本监视进程,崩溃挂掉后自动重启
- CentOS 7 linux安装迅雷Xware实现远程下载
- Linux下Tomcat进程运行监视并自动重启的脚本
- PandoraBox运行Xware(迅雷远程下载)的试验
- 如何监视一个进程,崩溃挂掉后自动重启
- 迅雷下载最近经常异常崩溃,下个Python脚本自动监控重启之
- Linux进程守护者: 进程监视及自动重启崩溃的进程