#检测pid functiongetPid() { echo"检测状态---------------------------------------------" pid=`ps -ef | grep -n ${packageName} | grep -v grep | awk '{print $2}'` if [ ${pid} ] then echo"运行pid:${pid}" else echo"未运行" fi }
#启动程序 functionstart() { #启动前,先停止之前的 stop if [ ${pid} ] then echo"停止程序失败,无法启动" else echo"启动程序---------------------------------------------"
#选择语言类型 read -p "输入程序类型(java,javac,netcore),下一步按回车键(默认:${languageType}):" read_languageType if [ ${read_languageType} ] then languageType=${read_languageType} fi echo"选择程序类型:${languageType}"
#进入运行包目录 cd${baseDirPath}/${baseZipName}
#分类启动 if [ "${languageType}" == "javac" ] then if [ ${mainclass} ] then nohup java -cp conf:lib\*.jar:${packageName}.jar ${mainclass} >${baseDirPath}/${packageName}.out 2>&1 & #nohup java -cp conf:lib\*.jar:${packageName}.jar ${mainclass} >/dev/null 2>&1 & fi elif [ "${languageType}" == "java" ] then nohup java -jar ${baseDirPath}/${baseZipName}/${packageName}.jar >/dev/null 2>&1 & # java -jar ${baseDirPath}/${baseZipName}/${packageName}.jar elif [ "${languageType}" == "netcore" ] then #nohup dotnet run ${baseDirPath}/${baseZipName}/${packageName} >/dev/null 2>&1 & nohup ${baseDirPath}/${baseZipName}/${packageName} >/dev/null 2>&1 & fi
#查询是否有启动进程 getPid if [ ${pid} ] then echo"已启动" #nohup日志 tail -n 50 -f ${baseDirPath}/${packageName}.out else echo"启动失败" fi fi }
#停止程序 functionstop() { getPid if [ ${pid} ] then echo"停止程序---------------------------------------------" kill -9 ${pid}
getPid if [ ${pid} ] then #stop echo"停止失败" else echo"停止成功" fi fi }