问题描述:公司有一款产品openfire部署在客户的服务器上,里面的人员是由别的公司通过webservice推送过来的,但是由于openfire的缓存机制,每次往数据库里添加新人或者更改某些人的属性时,如果不重新启动一次openfire,则效果和没有更改数据库一样。所以就要求必须重新启动openfire。在此还有一个问题,openfire是通过双机热备机制部署在服务器上,所以如果只是简单的kill掉openfire进程,那么双机热备软件由于检测到不足数量的java进程就会进行切换。所以在kill掉openfire之前应该,启动一个java进程,当openfire启动后在stop这个java进程。而客户的意见是:运行一个shell脚本就能把这些事情都搞定。
而在shell 脚本里很难通过 ps -Afgrep openfire 得到正在运行的openfire进程号,在网上找了好久也没有发现有一个好的办法,仔细想想在每次启动openfire时可以得进程号,然后把进程号写入一个文件中,当想要kill掉openfire进程时 先读取文件得到进程号 然后再kill 掉
本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,也不构成任何。
推荐:
网友评论 ()条 查看