public static void runShell(String Location){ //传入参数为shell脚本的路径
Process process = null;
InputStreamReader ir = null;
LineNumberReader input = null;
try {
process = Runtime.getRuntime().exec(Location);
ir = new InputStreamReader(process.getInputStream());
input = new LineNumberReader(ir);
String line;
while((line = input.readLine()) != null)
System.out.println(line);
input.close();
ir.close();
} catch (IOException e) {
e.printStackTrace();
}
}
上述代码是使用Java语言调用shell脚本
#! /bin/bash
tomcat_home=/data/trustsec/tomcat6
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh
echo "shut $tomcat_home"
$SHUTDOWN
ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9
#delete logs
rm $tomcat_home/logs/* -rf
#delete logs dir
rm $tomcat_home/work/* -rf
sleep 5
echo "start $tomcat_home"
$STARTTOMCAT
#show logs
tail -f $tomcat_home/logs/catalina.out
上述代码为shell脚本,包含重启tomcat的指令,需要拷贝到Linux下,并将该文件后缀命名为".sh"
拷贝到Linux系统后,使用vi编辑器将该文件打开,使用"set ff"命令查看当前的读取方式
如果fileformat=dos,将其修改为unix,如图,保存并退出。
使用 "chmod 777"命令给".sh"文件赋权限。
调用java方法运行shell脚本即可完成tomcat的重启。