1. 首页 >系统运维 >linux系统 >

linux 启动和关闭程序脚本

在linux中通过一下脚本可以方便启动和关闭程序

以java 为例

创建start.sh文件

#这是一个完整的启动,重启,停止jar包的sh脚本,下面修改jar名和日志名称就行了
#!/bin/bash
app_name=/xxx-0.0.1-SNAPSHOT.jar
log_file=/xxx_log.log
echo 将要执行jar包:${app_name}
pid=`ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`

echo "判断jar包${app_name}文件是否存在,如果存在执行${app_name}包"
if test -e $app_name
then
echo '文件存在,开始启动此程序...'

read -p "请输入你要的操作,1 启动、2重启、3停止:" input
if (($input==1));
then
echo "start project"
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -Dfile.encoding=utf-8 -jar "${app_name}" --server.port=8087 > ${log_file} 2>&1 &
tail -f ${log_file}
elif (($input==2)); 
then     
echo "restart project" 
echo 将要杀死原来的进程$pid
kill -9 $pid
echo "$pid进程终止成功"
#kill -9 `ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
sleep 2
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar "${app_name}" > ${log_file} 2>&1 &
#echo "$app_name 启动成功..."
tail -f ${log_file}
elif (($input==3)); 
then    
echo "stop project"
echo 将要杀死原来的进程$pid
kill -9 $pid
echo "$pid进程终止成功"
else         
echo "输入有误"
fi
else
echo "$app_name 文件不存在,请检查。"
fi

app_name 定义启动文件位置

log_file 定义日志文件 

server.port 可以指定端口 

通过以上 sh文件

运行./start.sh 

就可以启动或停止程序了