直接上code
#!/bin/bash
pid=`ps -ef | grep demo.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
echo "run demo.jar"
nohup java -jar demo.jar>output 2>&1 &
注:
(1)pid=`ps -ef | grep demo.jar | grep -v grep | awk '{print $2}'`
找到 halo.jar的进程ID
命令 | 说明 |
ps -ef | grep demo.jar | 查找demo.jar相关的所有进程行 |
grep -v grep | -v 表示反向查找(取反的意思),grep -v grep就是查找不包含“grep”字段的行 |
awk '{print $2} | 输出前面管道符结果的第2列 |
(2)kill -9 $pid杀掉找到的进程ID
(3)nohup java -jar halo.jar>output 2>&1 &
以nohup的方式启动应用。
控制台日志输入到output文件中
&:后台启动
&2>1:表示将标准错误重定向到标准输出。即标准输出重定向输出到output文件中