2007-1-11 07:02
cindy
请教!!Unix编程:如何监测另一程序是否运行??
我在编写一段Unix 程序, 要求程序查看另一Java程序是否运行,如果没有运行,则调用运行命令?该如何写呢?
2007-1-11 12:43
hellohb
顶。我也想知道
2007-1-11 14:58
universes
ps -ef 能得到所有在运行的process
2007-1-11 14:59
universes
这个用shell来实现就最容易了。。。
awk ...
2007-1-11 15:02
universes
ps -ef | awk 'BEGIN{a=0} {if($x=="xxxx") a=1} END{if(a==0) call JavaProgram}'
用awk找有没有运行的程序,如果有就讲变量a置1。在结束的时候检查变量是否背设置成1,如果没有就说明没有运行。。。。
很久没写过shell了,大概就是这样
2007-1-12 06:40
cindy
如果我要运行的是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}'
???
[[i] 本帖最后由 cindy 于 2007-1-12 06:43 编辑 [/i]]
2007-1-12 09:13
universes
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的。
2007-1-12 09:19
universes
上面那个 $x=="" 中的x要换成具体的数字,就是你的 Monitoring.jar 在第几列显示。这是在awk中提到的
2007-1-12 11:42
cindy
能否在解释一下: Monitoring.jar 在第几列显示, 是什么意思? 多谢!
2007-1-12 12:41
cindy
知道了.
2007-1-12 13:39
cindy
问题解决,非常感谢!!!
2007-1-17 15:14
炸鸡
既然前面a==1就已经退出了,那后面的a==0不用在判断一次了吧,因为这是a一定是0
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.