社区
Linux/Unix社区
帖子详情
如何编写一个shell脚本实时的查看某个进程是否正常运行?
charysun
2004-12-01 02:20:11
我现在需要做一个进程监控程序,准备用shell脚本做,实时检查进程运行状况,如果发现进程死掉了,需要重新启动进程。不知道用shell是否可以实现。检查进程状态用ps -ef |grep XXXXX之类的可以吗?会不会ps命令发现进程还在,其实已经死掉了呢?定时运行可以用crontab。只是对ps命令不太放心。这个shell脚本应该是一个守护进程了吧?
...全文
2334
9
打赏
收藏
如何编写一个shell脚本实时的查看某个进程是否正常运行?
我现在需要做一个进程监控程序,准备用shell脚本做,实时检查进程运行状况,如果发现进程死掉了,需要重新启动进程。不知道用shell是否可以实现。检查进程状态用ps -ef |grep XXXXX之类的可以吗?会不会ps命令发现进程还在,其实已经死掉了呢?定时运行可以用crontab。只是对ps命令不太放心。这个shell脚本应该是一个守护进程了吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fangjianye
2005-01-12
打赏
举报
回复
top
yjf7888
2004-12-31
打赏
举报
回复
up
soulcy
2004-12-28
打赏
举报
回复
conquer(戏子)的这段代码只能判断系统有没有这个进程存在,进程的状态并没有判断啊。
例如进程处于僵尸状态。。
TobyLee
2004-12-07
打赏
举报
回复
哈哈,楼上的,这是我在这里第三次看到你发这段代码了,很实用,我第一次看到的时候就有收藏的冲动,结果,就让我给Ctrl+C、Ctrl+V下来了,哈哈。
conquer
2004-12-01
打赏
举报
回复
工作代码,你看看就明白了。
#!/bin/sh
# Deamon Check Program in U51
# including :
# 1.alarm(above & Motorola & EMX2500 & Alcatel; 2.connect_EMX)
#
while [ 1 ]
do
#for i in $ABOVE_DAEMON
cat $1|while read pathname appname
do
ps -ef |grep -v "grep"|grep "$appname" |awk '{print "echo ",$8,$9}'> check_file
if test -s check_file
then
echo $appname "\t\tis running"
else
cd $pathname
$appname &
if [ $? -ne 0 ]
then
echo "Run '$appname' failed!"
break
else
echo "start '$appname' successed!"
fi
fi
done
echo "-----------------------------------------------------------------\n"
echo "-----------------------------------------------------------------\n\n"
sleep 60
done # done of while
conquer
2004-12-01
打赏
举报
回复
嘿嘿:)工作代码,权当例子。看看就明白了。
#!/bin/sh
# Deamon Check Program in U51
# including :
# 1.alarm(above & Motorola & EMX2500 & Alcatel; 2.connect_EMX)
#
while [ 1 ]
do
#for i in $ABOVE_DAEMON
cat $1|while read pathname appname
do
ps -ef |grep -v "grep"|grep "$appname" |awk '{print "echo ",$8,$9}'> check_file
if test -s check_file
then
echo $appname "\t\tis running"
else
cd $pathname
$appname &
if [ $? -ne 0 ]
then
echo "Run '$appname' failed!"
break
else
echo "start '$appname' successed!"
fi
fi
done
echo "-----------------------------------------------------------------\n"
echo "-----------------------------------------------------------------\n\n"
sleep 60
done # done of while
charysun
2004-12-01
打赏
举报
回复
没有人知道吗?
charysun
2004-12-01
打赏
举报
回复
需要监控的进程是java进程,不知道如何在启动的时候留下pid,如果有pid的话也可以用C编写守护进程处理了。所以现在才想用ps和shell处理。如果哪位知道的话请指点一二。
core
2004-12-01
打赏
举报
回复
如果被监控的程序是自己开发的,那就再fork一次,父进程用waitpid来处理子进程结束
用SHELL做也不是不可以
Shell
脚本
实现Linux系统和
进程
资源监控
在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,磁盘的使用率监控,
进程
数目监控等等,以在系统出现异常时及时报警,通知...6.Linux使用
Shell
查看
某个
进程
名正在
运行
的个数 7.Linux
linux
进程
CPU 监测
shell
linux 下,监测
进程
CPU利用率,当某个
进程
达到设定的CPU利用率时报警(或其它动作)
如何
编写
一个
shell
脚本
查看
某个
进程
是否
在
运行
我需要做
一个
shell
脚本
,
运行
在Linux上,检查某个
进程
是否
在
运行
,如果在
运行
则返回1,不在
运行
则返回0,在下对
shell
脚本
不是很熟,请大家帮忙解决一下,谢谢啦~~ ps:
进程
名称不能写死,应该是执行命令是...
Linux
shell
:
脚本
判断
进程
是否
在
运行
Linux
shell
:
脚本
判断
进程
是否
存在
shell
脚本
的
编写
及
运行
shell
脚本
的
编写
及
运行
1....
运行
shell
脚本
的方式详解4.1 在新
进程
中
运行
shell
脚本
4.2 在当前
进程
中
运行
shell
脚本
1. which命令和/etc/
shell
s文件 which命令的功能: which命令用于查找并显示给定命令的绝对路...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章