通常,我们在Shell中找到并杀掉Tomcat进程时往往会使用
1 |
ps -elf|grep tomcat |
之类的命令查找Tomcat等的PID,然后通过kill命令将其杀死。然而,当在Jenkins等工具中执行时却往往也会把grep命令自己的PID带出来(很多文章上都是通过grep去定位进程的,其实显然是错误的)。
此时,我们可以还可以通过诸如:
1 |
pid=`lsof -i4:58082|awk 'NR==2{print $2}'` |
之类的命令,通过Tomcat绑定的端口号来定位进程。
不过,当在同一台机器上存在Nginx等反向代理时,往往还是会把Nginx的进程选出来,例如:
此时可以通过:
1 |
pid=`lsof -i:58082|grep java|awk 'NR==1{print $2}'` |
完成。
转载时请保留出处,违法转载追究到底:进城务工人员小梅 » Jenkins杀Tomcat进程的坑