如何写一个脚本监视进程

baga 2004-03-26 09:19:39
比如说我想监视一个进程为gaim,每两分钟查看他是否运行,如果没有运行则开启进程.
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wti 2004-09-17
  • 打赏
  • 举报
回复
#! /usr/bin/perl
$app = shift;
while (1) {
$result = `ps aux|grep $app|grep -v grep`;
unless ($result) {
system ("$app&") == 0
or die "can not start $app: $!";
sleep 300;
}
}
dchg2000 2004-09-17
  • 打赏
  • 举报
回复
你看看吧,应该有你想要的!
dchg2000 2004-09-17
  • 打赏
  • 举报
回复
#!/bin/sh
#
# Shell Script for Watching the Simph323-client
#

# Usage function
usage()
{
echo "Usage: $0 classname listen-port log-number"
echo "Example:"
echo " $0 2004060400006 1755 6"
echo ""
}


# Check input parameters
args=$#
if [ $args -ne "3" ]
then
usage
exit 1
fi

# Watch the simph323-client status
app="./simph323 -g 61.159.46.62 -u $1 -u $1#1 -a -l -i 61.159.46.63:$2"
port=$2
cout=0;
echo "$app"

while [ 1 ]
do
# Inquire if the process exist or not
rs=`ps -x | grep "$app" | grep -v "grep"`
# echo "rs = $rs"

if [ -z "$rs" ]
then
echo "`date "+%Y-%m-%d %H:%M:%S"` The process is not found !"

# Change port, and restart ...
if [ $port -eq $2 ]
then
port=`expr $port + 10`
else
port=$2
fi

app="./simph323 -g 61.159.46.62 -u $1 -u $1#1 -a -l -i 61.159.46.63:$port"
echo $app
sleep 1
$app 1>>$3.out 2>>$3.out &
cout=0

else
if [ $cout -eq "0" ]
then
echo "`date "+%Y-%m-%d %H:%M:%S"` The process is running ..."
else
if [ $cout -eq "59" ]
then
cout=0
continue
fi
fi

cout=`expr $cout + 1`
fi

sleep 1
done


baga 2004-09-15
  • 打赏
  • 举报
回复
哪位仁兄能顶一下吗,要揭贴了,不然扣分的,随便顶,

18,771

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧