Linux下Shell中获得进程ID(PID)的方式整理和引用(例如杀死进程)

2022-05-25 1219点热度 0人点赞 0条评论

Linux下查看进程状态可以使用ps命令,例如ps aux,可以看到PID或者CPU、内存使用率等。

如果想要找到特定的程序的进程,那么可以配合使用grep查找出特定的进程PID,因为在执行shell脚本的时候,本身自己也是一个进程,如果用grep很有可能把自己也列出来,所以需要如下方式:

(把name换成具体的关键词,使用grep -v grep把自己排除掉)

ps -ef | grep "name" | grep -v grep | awk '{print $2}'

这个例子就是赋值给PID变量:

PID=$(ps -ef | grep "name" | grep -v grep | awk '{print $2}')

另外还可以使用pgrep这个命令来查找,例如:

pgrep -f java
pgrep -x "nginx"

# -x的完全匹配名称,-f和grep -p类似,模糊匹配

# 查出进程赋值给PID
PID=$(pgrep -f java)

引用

Shell中可以利用查找到PID后,做杀死进程的功能(例如重启某个程序前需要确保已经关闭之前的程序)

ps -ef | grep your_process_name | grep -v grep | awk '{print $2}' | xargs kill

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论