概述
软件开发过程中,在Linux环境,使用tomcat服务器,会频繁的进行重启操作。
手动操作步骤
1.查找tomcat进程
ps -ef|grep tomcat
2.kill tomcat进程
kill -9 进程id
3.查看tomcat进程是否kill掉
ps -ef|grep tomcat
4.启动tomcat
进入tomcat/bin路径,执行./startup.sh
5.打开tomcat管理端日志,查看项目是否启动成功
tail -f tomcat路径/logs/catalina.out
脚本
1.脚本内容
创建脚本文件:restart.sh
#! /bin/bash #这里配置tomcat的根路径 tomcat_home=/home/ssss/apache-tomcat-7.0.72 SHUTDOWN=$tomcat_home/bin/shutdown.sh echo "Close $tomcat_home" #$SHUTDOWN #杀掉tomcat进程 ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9
#删除日志文件,如果你不想删除可以不要下面一行 #rm $tomcat_home/logs/* -rf #删除tomcat的临时目录 #rm $tomcat_home/work/* -rf #暂停5s sleep 5 echo "Start $tomcat_home" #跳转到tomcat/bin路径 cd $tomcat_home/bin/ #执行启动tomcat命令 ./startup.sh #查看tomcat日志 tail -f $tomcat_home/logs/catalina.out |
2.脚本说明
ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9
- ps -ef:获取所有进程
- grep tomcat:过滤出tomcat
- grep $tomcat_home:过滤出$tomcat_home
- grep -v 'grep':过滤掉grep
- awk '{print $2}':打印第二个字段,就是进行id
- xargs kill -9:xargs 使用上一个操作的结果作为下一个命令的参数
使用
1.修改脚本文件中的tomcat_home=/usr/local/tomcat6
将其修改为tomcat的根路径
2.将restart.sh上传到服务器
3.添加脚本执行权限
chmod +x restart.sh
4.在脚本所在的路径执行./restart.sh
遇到的问题
1./bin/bash^M: 坏的解释器: 没有那个文件或目录
如果脚本文件在windows系统进行编辑过,则上传到服务器后,要执行如下命令:
sed -i 's/\r$//' restart.sh
在Windows下,每一行的结尾是\n\r,但是在Linux下文件的结尾是\n。因此在Windows环境下编辑过的文件在Linux下打开看的时候每一行的结尾就会多出来一个字符\r
2.退出脚本
查看完控制台日志后,不能使用ctrl+z退出,会杀掉进程,使用ctrl+c