启动脚本1
#!/bin/bash
echo "start"
APP_NAME=demo-xxx
pid=`ps -ef|grep $APP_NAME.jar|grep -v grep|awk '{print $2}'`
if [ -n "${pid}" ]; then
kill -9 $pid
fi
echo "stop $APP_NAME"
nohup java -jar -Xms2048M -Xmx2048M $APP_NAME.jar >/dev/null 2>&1 &
echo "run $APP_NAME"
grep -v grep
,过滤掉包含grep
命令的数据awk '{print $2}'
,字符串切割,选择第二个if [ -n "${pid}" ]
,判断变量的值是否为空。 if [[ -n $pid ]]
,双对括号变量不需要加双引号。
启动脚本2
ps -ef | grep demo-xxx |grep -v grep| awk '{print $2}' | xargs kill -9
nohup java -jar -Xms2048M -Xmx2048M demo-xxx.jar >/dev/null 2>&1 &
xargs
命令也是管道命令中的一员。比如echo "dir1 dir2 dir3" | xargs mkdir
,创建dir1 dir2 dir3
三个文件夹
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bfac9446393660927a321c5072723097.png)