在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
就可以启动或停止程序了