修改Java程序的进程名

当同一个服务器上启动多个tomcat后,我们会在任务管理器中看见多个java.exe,当我们需要对某个tomcat进行监控时,却无法区分出该tomcat的进程,那么如何修改进程名呢?

1.先使用

ll $(ps -u dtpf|egrep 'java'|awk '/java/{print "/proc/"$1}')|awk '/exe/{print "$dir:"$NF}'

java启动指定进程名 java指定进程名字_java启动指定进程名

2.查看打印出来的dir路径,找出和 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/java 路径相似的路径,复制出来(一般是加粗位置的jdk版本会不一致)
3.(root用户执行)

cp -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/querymanagement

(注意修改为自己环境的jdk)

4.在java项目 目录下建立软连接

ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/jre/bin/querymanagement querymanagement

java启动指定进程名 java指定进程名字_tomcat_02

5.修改java启动脚本management-server-start.sh
JAVA=“querymanagement”
nohup $JAVA $JAVA_OPTS -jar $CLASSPATH >> $CONSOLE_OUTPUT_FILE 2>&1 < /dev/null &

进程名修改后的效果图

java启动指定进程名 java指定进程名字_java启动指定进程名_03