[root@ecs jar]# ll *.jar
-rw-r--r-- 1 root root 53569099 Nov 2 15:10 config-server-1.0.jar
-rw-r--r-- 1 thtf thtf 51950677 Aug 4 2021 eureka-server-1.0.jar
-rw-r--r-- 1 root root 131810311 Oct 8 15:48 server-1.0.jar
[root@ecs jar]# ps -ef |grep server-1.0.jar |grep -v grep|awk '{print $2}'
3269
4356
14307
通过jar包名无法准确获取到pid,导致编写的脚本无法执行~
用双引号把搜索字符串括起来,搜索带空格的即可
ps -ef |grep " server-1.0.jar"
这个很好解决,grep -w 是全词匹配的意思。所以加个-w选项就OK了。
ps -ef |grep -w "server-1.0.jar" |grep -v "grep"| awk '{print $2}'
这种启动时没带完整路径,只能根据pid的jar包的启动路径来区分,这个就是显示pid 3269的启动路径方法:cat /proc/3269/cwd