QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[linux教程] linux下通过脚本实现自动重启程序

linux下通过脚本实现自动重启程序

linux下通过脚本实现自动重启程序
  R' L) E5 u0 Y2006-06-01
0 U- J- M; O  F5 l
  i' ~0 `8 d2 |" j) f
! l2 _+ W$ v  Z+ _. `
4 A: v& u( ~2 k6 B( g) r无论什么程序都不可能完美无缺,理论上,任何程序都有CoreDump的一天,正式运营的程序,尤其是服务器程序,一旦CoreDump,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批。所以,程序发生错误时自动重启变得很重要。这里集中讨论Linux实现自动重启程序的方法。/ [6 w* R3 u& f. w. S' ?' a5 ^" X( r
1 M9 u" `4 `5 n# t
linux下实现程序的自动重启有很多方法,这里我们介绍的是通过自己写脚本来实现,: i8 J0 A9 i2 f4 w. c  E

5 y4 }3 [$ a6 H! j  h自动重启脚本
% R& b9 F7 B1 i' [
1 o% r7 P" f0 {7 g. r假定需要实现重启的程序名为test,我们这里通过判断进程数目来判断程序是否正常。
3 _/ I5 x: U: b+ V- q/ S9 K* @: W$ z9 p% O/ F5 T5 V
ps-ef│grep"$1"│grep-v"grep"│wc–l是获取$1(本例中为test)的进程数,脚本根据进程数来决定下一步的操作。通过一个死循环,每隔1秒检查一次系统中的指定程序的进程数。
3 Z" w+ H8 P1 o9 m: e: h% l; a* V
$ M6 f. R$ |  J% |9 @2 k& n. h/ z代码如下:" B  Q7 v  i9 m/ y5 B
脚本check
. p  p( b: o8 _3 f6 S; X/ y3 g, q4 X& {3 y  Q

7 d! H3 u) x# Z
7 R" B- G) t( b, \7 H* I#!/bin/sh! U+ D+ S& G8 c& z: C7 q
#-----------------------------------#函数:CheckProcess#功能:检查一个进程是否存在#参数1---要检查的进程名称#返回:如果存在返回0,否则返回1.#---------------------------------------CheckProcess(){#检查输入的参数是否有效if["$1"=""];thenreturn1fi#$PROCESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动PROCESS_NUM=`ps-ef│grep"$1"│grep-v"grep"│wc-l`if[$PROCESS_NUM-eq1];thenreturn0elsereturn1fi}; I% n* Y0 L0 S/ I9 a: G4 q
#检查test实例是否已经存在while[1];doCheckProcess"test"CheckQQ_RET=$?if[$CheckQQ_RET-eq1];then#杀死所有test进程,可换任意你需要执行的操作killall-9testexec./test%26fisleep1done/ |2 {: P" B/ {2 H. o  [! L# o2 N' T

  v; E: E+ x) Z: ]( w4 \( P  ~: |. k9 Z; r0 d* m, b7 a- n. N  Y4 t
) ]- G: }: H2 ?7 `- `1 q4 R" E+ e
& h, p! n/ i- y/ \  g6 Q
脚本start:
% T' y: }4 W8 E" i0 G加入limitcoredumpsize102400,设置corefile的大小,一旦程序CoreDump,有迹可寻。在该脚本中后台执行check脚本,可以省去很多麻烦,1 Z5 f9 v$ R3 I; G1 b
- K6 O3 ?% n" h! l8 q+ S0 _
. A; b9 s  ^) j) J" s" g1 x. h
#!/bin/cshlimitcoredumpsize102400/ [; v$ i; m' ?8 ?' f7 u
./check%26
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

******请登陆论坛查看内容******

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)
这是赤果果的灌水呐
What good would wings be
if you couldn't feel wind on your face

TOP

发新话题