网云科技

标题: Netgear RN102 迅雷远程进程监视,自动重启 [打印本页]

作者: 2k0on7h8    时间: 2016-3-29 19:43
标题: Netgear RN102 迅雷远程进程监视,自动重启
之前拜读了关于Netgear RN102 安装Xware 实现迅雷远程下载的帖子,按照方法设置后发现运行一段时间后远程迅雷就会停止运行。所以一直在寻找一个能够自动重启程序的方法。后来发现方法确实是有,只是不知道为什么不太适合Netgear RN102,虽然能够做到重启进程,但是总觉得说有些别扭,于是自己根据网上搜到的方法进行了部分修改,经自己尝试可行,故拿来与也在使用Netgear RN102的朋友一起分享。


迅雷远程下载Xware1.0.31 运行时共有三个进程常驻后台:ETMDaemon、EmbedThunderMan、vod_httpserver,如下图:

运行三个进程常驻后台:ETMDaemon、EmbedThunderMan、vod_httpserver

要保证迅雷远程下载功能正常,三个进程都必须在,为防止进程跑死可通过定时检查进程是否存在以保证远程下载功能正常。

我们使用检测进程的方式来判断程序是否已经跑死。这里首先用putty登陆你的Netgear RN102,注意必须使用root账号登录。
1、任意位置新建一个文件check_xunlei.sh,并配置权限,如:(有可能bin下面没有权限创建,可以创建到xunlei下面)
实现方法如下:


cd /bin

touch check_xunlei.sh

chmod 777 check_xunlei.sh
复制代码
2、用WinSCP登录你的Netgear RN102编辑check_xunlei.sh,(注意:编码要选择UTF-8否则可能输出的文字是乱码)代码如下: (简单的说一下,这个是根据网友的程序略微改写而来不知为何他的程序在Netgear RN102上运行总是有问题,可能是因为NAS系统,有些许差异。这段程序的主要用途在于判断进程是否还在运行,如果正常运行不作任何操作,如果不运行会重启进程,并且在每次运行的过程中生成日志)
#!/bin/sh

file_name="/data/xunlei/xl.log"     #这是日志路径,请自行修改;

echo  '\n'"脚本运行时间:"`date` >> $file_name

echo  "---------------------------------Check Start----------------------------------" >> $file_name

echo  "当前进程状态:" >> $file_name

ps -ef | grep xunlei | egrep -v 'grep|check' >> $file_name

num=`ps -ef | grep xunlei | egrep -v 'grep|check' | wc -l`  # 计算进程数

echo  "迅雷进程数为:"$num >> $file_name

if [ $num -lt 3 ]                                              # 判断进程是否存在

then

      echo  "迅雷运行状态:Not OK" >> $file_name

      /data/xunlei/portal                                     # 重启进程

      sleep 10

      num1=`ps -ef | grep xunlei | egrep -v 'grep|check' | wc -l`  # 计算进程数

      if [ $num1 -eq 3 ]

      then

           echo  "迅雷进程重启:OK"  >> $file_name

           ps -ef | grep xunlei | egrep -v 'grep|check' >> $file_name

      else

           echo  "迅雷进程重启:Not OK"  >> $file_name

           echo  "等待下一周期重启"  >> $file_name

      fi           

else

      echo  "迅雷运行状态:OK" >> $file_name

fi

echo  "---------------------------------Check Over------------------------------------" >> $file_name
复制代码

WinSCP登录界面

找到你之前新建的文件check_xunlei.sh

注意:编码要选择UTF-8否则可能会出现乱码


3、添加计划任务,每10分钟执行一次;(这里根据自己check_xunlei.sh文件位置修改路径)
使用putty登陆你的Netgear RN102
crontab –e
复制代码
这是会启动nano编辑界面,将以下内容复制进去
*/10 * * * * sh /bin/check_xunlei.sh
复制代码

nano编辑界面



生成的日志文件如下:


脚本运行时间:Mon Jan 4 00:20:01 HKT 2016
---------------------------------Check Start----------------------------------
当前进程状态:
root     11418     1  0 Jan03 ?        00:00:04 /data/xunlei/lib/ETMDaemon /data/xunlei/lib/EmbedThunderManager /dev/null /dev/null ******************************************
root     11420     1  6 Jan03 ?        00:05:50 /data/xunlei/lib/EmbedThunderManager ******************************************
root     11422     1  0 Jan03 ?        00:00:07 /data/xunlei/lib/vod_httpserver
迅雷进程数为:3
迅雷运行状态:OK
---------------------------------Check Over------------------------------------


脚本运行时间:Mon Jan 4 00:30:01 HKT 2016
---------------------------------Check Start----------------------------------
当前进程状态:
root     11418     1  0 Jan03 ?        00:00:04 /data/xunlei/lib/ETMDaemon /data/xunlei/lib/EmbedThunderManager /dev/null /dev/null ******************************************
root     11420     1  6 Jan03 ?        00:06:08 /data/xunlei/lib/EmbedThunderManager ******************************************
root     11422     1  0 Jan03 ?        00:00:08 /data/xunlei/lib/vod_httpserver
迅雷进程数为:3
迅雷运行状态:OK
---------------------------------Check Over------------------------------------






作者: 1zh2t8z    时间: 2016-3-29 19:43
请教露珠能在win平台上监控迅雷运行么,本地迅雷一段时间后也是会崩溃退出。


作者: k51z1x8    时间: 2016-3-29 19:43

这个不行~这个方法是nas的。





欢迎光临 网云科技 (http://www.8x6x.com/) Powered by Discuz! X3.2