本版版主招募中

 
标题: 请教!!Unix编程:如何监测另一程序是否运行??
cindy
LU新生
Rank: 1



UID 67600
精华 0
积分 3
帖子 6
活跃指数 2
LU金币 8 个
LU金条 0 个
阅读权限 10
注册 2007-1-11
 
发表于 2007-1-11 07:02  资料  个人空间  短消息  加为好友 
请教!!Unix编程:如何监测另一程序是否运行??

我在编写一段Unix 程序, 要求程序查看另一Java程序是否运行,如果没有运行,则调用运行命令?该如何写呢?

顶部
hellohb
LU幼天使
Rank: 2



UID 28090
精华 0
积分 26
帖子 44
活跃指数 9
LU金币 2039 个
LU金条 0 个
阅读权限 20
注册 2004-12-6
 
发表于 2007-1-11 12:43  资料  个人空间  短消息  加为好友 
顶。我也想知道

顶部
universes
LU新生
Rank: 1



UID 45393
精华 0
积分 12
帖子 23
活跃指数 6
LU金币 29 个
LU金条 0 个
阅读权限 10
注册 2006-4-17
 
发表于 2007-1-11 14:58  资料  个人空间  主页 短消息  加为好友 
ps -ef 能得到所有在运行的process

顶部
universes
LU新生
Rank: 1



UID 45393
精华 0
积分 12
帖子 23
活跃指数 6
LU金币 29 个
LU金条 0 个
阅读权限 10
注册 2006-4-17
 
发表于 2007-1-11 14:59  资料  个人空间  主页 短消息  加为好友 
这个用shell来实现就最容易了。。。
awk  ...

顶部
universes
LU新生
Rank: 1



UID 45393
精华 0
积分 12
帖子 23
活跃指数 6
LU金币 29 个
LU金条 0 个
阅读权限 10
注册 2006-4-17
 
发表于 2007-1-11 15:02  资料  个人空间  主页 短消息  加为好友 
ps -ef | awk 'BEGIN{a=0} {if($x=="xxxx") a=1} END{if(a==0) call JavaProgram}'

用awk找有没有运行的程序,如果有就讲变量a置1。在结束的时候检查变量是否背设置成1,如果没有就说明没有运行。。。。

很久没写过shell了,大概就是这样

顶部
cindy
LU新生
Rank: 1



UID 67600
精华 0
积分 3
帖子 6
活跃指数 2
LU金币 8 个
LU金条 0 个
阅读权限 10
注册 2007-1-11
 
发表于 2007-1-12 06:40  资料  个人空间  短消息  加为好友 
如果我要运行的是jar文件: Monitoring.jar , 是不是就应该写成:

我将run command:java -jar Monitoring.jar,编辑进 run.sh

ps -ef | awk 'BEGIN{a=0} {if($x=="Monitoring.jar") a=1} END{if(a==0) call run.sh}'

???

[ 本帖最后由 cindy 于 2007-1-12 06:43 编辑 ]

顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
universes
LU新生
Rank: 1



UID 45393
精华 0
积分 12
帖子 23
活跃指数 6
LU金币 29 个
LU金条 0 个
阅读权限 10
注册 2006-4-17
 
发表于 2007-1-12 09:13  资料  个人空间  主页 短消息  加为好友 
ps -ef | awk 'BEGIN{a=0} {if($x=="Monitoring.jar") {a=1; break/exit?? }} END{if(a==0) java -jar Monitoring.jar
在shell里和在命令行下运行程序是一样的
你自己试试吧,找个shell编程的书看看,尤其是有关awk的。

顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
universes
LU新生
Rank: 1



UID 45393
精华 0
积分 12
帖子 23
活跃指数 6
LU金币 29 个
LU金条 0 个
阅读权限 10
注册 2006-4-17
 
发表于 2007-1-12 09:19  资料  个人空间  主页 短消息  加为好友 
上面那个 $x=="" 中的x要换成具体的数字,就是你的 Monitoring.jar 在第几列显示。这是在awk中提到的

顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
cindy
LU新生
Rank: 1



UID 67600
精华 0
积分 3
帖子 6
活跃指数 2
LU金币 8 个
LU金条 0 个
阅读权限 10
注册 2007-1-11
 
发表于 2007-1-12 11:42  资料  个人空间  短消息  加为好友 
能否在解释一下: Monitoring.jar 在第几列显示, 是什么意思? 多谢!

顶部
[广告] 记录自己的思想火花,留住每日的技术积累,尽在拥有属于自己独立域名的博客。
cindy
LU新生
Rank: 1



UID 67600
精华 0
积分 3
帖子 6
活跃指数 2
LU金币 8 个
LU金条 0 个
阅读权限 10
注册 2007-1-11
 
发表于 2007-1-12 12:41  资料  个人空间  短消息  加为好友 
知道了.

顶部
cindy
LU新生
Rank: 1



UID 67600
精华 0
积分 3
帖子 6
活跃指数 2
LU金币 8 个
LU金条 0 个
阅读权限 10
注册 2007-1-11
 
发表于 2007-1-12 13:39  资料  个人空间  短消息  加为好友 
问题解决,非常感谢!!!

顶部
炸鸡
超级版主
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
传说中的大色狼


LU爱心使者  
UID 134
精华 32
积分 10859
帖子 20173
活跃指数 719
LU金币 14722 个
LU金条 16 个
阅读权限 251
注册 2003-9-26
来自 鸡窝
 
发表于 2007-1-17 15:14  资料  个人空间  主页 短消息  加为好友 
既然前面a==1就已经退出了,那后面的a==0不用在判断一次了吧,因为这是a一定是0





顶部
 



当前时区 GMT+8, 现在时间是 2008-8-29 11:55
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.158058 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver