在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 文件不存在,请检查。"
fiapp_name 定义启动文件位置
log_file 定义日志文件
server.port 可以指定端口
通过以上 sh文件
运行./start.sh
就可以启动或停止程序了
