工作中,在Linux构建机器上,有时可能会遇见启用一个进程,附带了其他关联进程。如某一需要启用的tomcat进程端口为8080,启动后,会发现进行中进行的程序不止8080一个进程,可能会有8081、8082;那此时对于自动化管理时,通过寻找端口号来启动或是kill进程,就不是很科学了。
此时可以在catalina.sh中去配置一下,
在 PRGDIR 下面一行添加 CATALINAPID 参数行:
PRGDIR=dirname "$PRG"
CATALINA_PID=$PRGDIR/tomcat.pid
此时会在同级目录中生成一个tomcat.pid文件,那此时可以通过cat查看到进程的PID:
cat ./tomcat.pid
这时对于所需监听的进程可以更好地去操作,如定义一个变量去接受PID,可以轻松kill掉进程。
def PID = sh(script: 'cat ./tomcat.pid',returnStdout: true).trim()
sh """ kill -9 "${PID}" """