获得进程的PID
ps -ef | grep "hz-web" | grep -v grep | awk '{print $2}' | sed -n '1p'
命令解释:
ps -ef : 获取当前进程信息,作为输入源传到grep
grep "hz-web" :只获取进程名包含"hz-web"的所在行的数据,作为输入源传到后面那个grep
grep -v grep:列出除开grep命令本身的进程,作为输入源传到awk
awk '{print $2}' :获取传入数据源的第二列数据(进程号),作为输入源传到sed
sed -n '1p' :获取传入数据源的第一行(只输出第一个符合要求的进程号PID)
根据进程名批量杀进程
ps -ef | grep "hz-web" | grep -v grep | awk '{print $2}' | xargs kill -9
ps -ef | grep "hz-web" | grep -v grep | awk '{print $2}' :将所获得的所有进程号PID作为输入源传到kill
grep -v grep:列出除开grep命令本身的进程,作为输入源传到awk 避免grep这个命令进程也杀掉,有可能导致你要杀的进程杀的不干净
xargs :xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数。