本文共 2816 字,大约阅读时间需要 9 分钟。
jar和lib文件处于同一目录下,如果不满足,请自行修改配置文件。sh start.sh命令运行脚本,支持以下操作:start、stop、restart、status、debug。sh start.sh start test-1.x.x
sh start.sh restart test-1.x.x
sh start.sh status test-1.x.x
sh start.sh debug test-1.x.x 51235
sh start.sh stop test-1.x.x
#!/bin/sh
/bin/sh,适用于Linux系统。JAR_NAME="$2.jar"ADD_PORT="$3"
JAR_NAME表示程序文件名,ADD_PORT表示调试模式下的监听端口。help() { echo "请使用以下命令:sh start.sh [start|stop|restart|status|debug] [版本号] || [ADD_PORT]" echo "示例:sh start.sh start 1.0.1" echo "调试模式示例:sh start.sh debug demo1.0 | sh start.sh debug demo1.0 6156"} start() { pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') if [ -z $pid ]; then nohup java -Dloader.path=lib/ -jar $JAR_NAME > out.log 2>&1 & pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') echo "Service ${JAR_NAME} is starting!pid:${pid}" else echo "服务已运行,进程ID为${pid}。请使用stop或restart命令重新获取服务。" fi} stop() { pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') if [ -z $pid ]; then echo "服务未找到,无法停止。" else kill -9 $pid echo "服务停止成功,进程ID:${pid}。" fi} status() { pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') if [ -z $pid ]; then echo "服务未运行。" else echo "服务运行中,进程ID:${pid}。" fi} restart() { echo "重启程序中..." pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') if [ ! -z $pid ]; then kill -9 $pid fi start} start函数,重新启动服务。debug() { if [ -z $ADD_PORT ]; then ADD_PORT="51135" echo "默认监听端口为:${ADD_PORT}" fi pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') if [ ! -z $pid ]; then kill -9 $pid fi nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$ADD_PORT -Dloader.path=lib/ -jar $JAR_NAME > debugOut.log 2>&1 & pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') echo "调试模式启动成功,进程ID:${pid},端口:${ADD_PORT}"} sh start.sh start test-1.0.1
Service test-1.0.jar is starting!pid=17827。sh start.sh debug test-1.0.1 51235
debug Service test-1.0.jar is starting!pid=19134,地址:51235。sh start.sh status test-1.0.1
Service test-1.0.jar is running. It's pid=19134。jar和lib文件位于同一目录下。如有问题,请参考详细日志文件或联系技术支持。
转载地址:http://aakg.baihongyu.com/