2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Systema compositum ex pluribus applicationibus Javae in ambitu offline explicatis, saepius in probatione temporis dimitti debet. Scriptum sum ut ante incipiam. statim invenire processus correspondentes et tunc occidere et sileo. Alter punctum est fasciculus stipes . Cogitavi de tabulario tabellario historico ad current In tergum folder sub semita.
Imprimis affirmare velim me concham novitiam esse et hac in re parum uti.
Malo hoc imperio uti. Verbi gratia, ad investigandum processum 8080 portum occupatum, sequenti mandato uti potes
lsof -i:8080
Hoc omnes sciant, occide -9, non simpliciter uteris occide, exempli gratia, processum processus cum processu PID 12345 neca.
kill -9 12345
Hoc mandatum simplex relativum est, ac proinde ambitus muneris adhibentur.$1
,$2
,$3
…accipere
Quia plura officia Javae sunt et etiam notioni reuse adhaerens, communem rationem scribendi cogitavi ut ministerium sileo, et postea scripta scribenda pluribus officiis respondentia ut nomina, portus et alia informationes suas singulis officiis notent. In singulis scriptis officiorum Medium saltum parametrum vocat commune ministerium satus vel sileo modum.
Commune officium startup vel sileo scriptum run.sh
#!/bin/bash
start_app(){
# 接收参数
APP_NAME=$1;
APP_PORT=$2;
MEM=$3
ACTION=$4;
CURRENT_TIME=`date +"%Y%m%d%H%M%S"`
#检查程序是否在运行
APP_STATUS=`netstat -nlt|grep ${APP_PORT} |wc -l`;
RUNNING_PID=$(netstat -nlp | grep :$APP_PORT | awk '{print $7}' | awk -F"/" '{ print $1 }');
LOG_FILE=./logs/${APP_NAME}_${CURRENT_TIME}.log;
cd ..;
if [ "${APP_STATUS}" -eq 1 ]; then
if [ "${ACTION}"x == "restart"x ]; then
## 重启前先kill原进程
echo "kill the running app whose PID is ${RUNNING_PID} of ${APP_NAME}";
kill -9 "${RUNNING_PID}";
# 日志归档
cd logs;
for file in `ls ${APP_NAME}* -a`;
do
mv "${file}" backup/;
done
cd ..;
else
echo "exist running ${APP_NAME} and the PID is ${RUNNING_PID}";
exit 0;
fi
fi
echo "start ${APP_NAME} at $CURRENT_TIME";
## 启动程序
nohup java -Xms${MEM}m -Xmx${MEM}m -XX:PermSize=256m -XX:MaxPermSize=512m -jar -Dfile.encoding=utf-8 -Dserver.port=${APP_PORT} -Dspring.profiles.active=prod ${APP_NAME} > ${LOG_FILE} 2>&1 &
pid=`ps -ef|grep java|grep ${APP_NAME}`
echo "${APP_NAME} has started successfully at ${CURRENT_TIME},and the pid is ${pid}"
}
Unum officium startup scriptor
#!/bin/bash
action=$1
## 引入通用服务启动脚本
source ./run.sh
#启动方法
start(){
# 执行通用服务脚本中的启动方法
start_app xxx.jar 8080 4096 ${action}
}
#程序主入口
start
Si officium scripturae startup directe exsecutus est sine ambitu parametri, iudicabitur an servitus portus occupatur. Si occupatur, protinus exibit officium inchoatur.
Involucrum dolium in indice /opt/app situm est, scriptum in directorio /opt/app/run situm est, et index in /opt/app/logorum directorio ponitur in hodierna directorio scriptionis. Si absolutum iter adhibeatur Methodus errorem referet, qui a nonnullis scriptionis modis in scriptione non adhibitis absolutis semitas causari potest solutio nunc.
Occurrit in temptationemrun.sh: xxx行 $'r' 附近有语法错误
errore, uti sed -i 's/r$//' run.sh mandatum convertendi.