标签:参数 字母 $2 进程 nohup 3.3 pac 存在 name
在已知进程名(name)的前提下,交互式 Shell 获取进程 pid 有很多种方法,典型的通过 grep 获取 pid 的方法为(这里添加 -v grep是为了避免匹配到 grep 进程):
ps -ef | grep "name" | grep -v grep | awk ‘{print $2}‘
或者不使用 grep(这里名称首字母加[]的目的是为了避免匹配到 awk 自身的进程):
ps -ef | awk ‘/[n]ame/{print $2}‘
如果只使用 x 参数的话则 pid 应该位于第一位:
ps x | awk ‘/[n]ame/{print $1}‘
最简单的方法是使用 pgrep:
pgrep -f name
如果需要查找到 pid 之后 kill 掉该进程,还可以使用 pkill:
pkill -f name
如果是可执行程序的话,可以直接使用 pidof
pidof name
获取jmeter_pid
[root@izwz9c6q7af34lokld0hqcz ~]# ps -ef | grep "jmeter" | grep -v grep | awk ‘{print $2}‘
18406
18408
18442
编写shell
#!/bin/bash
#jmeter kill and start
echo -e ‘\033[32m--------Jmeter---------------\033[0m‘
echo "kill掉jmeter-server 进程................... \n"
kill -9 `ps aux | grep jmeter | grep -v grep | awk ‘{print $2}‘`
sleep 3
cd /root/tools/apache-jmeter-3.3/bin/
echo "启动jmeter-server"
nohup ./jmeter-server &
echo -e ‘\033[32m------------欢迎使用-----------------\033[0m‘
标签:参数 字母 $2 进程 nohup 3.3 pac 存在 name
原文地址:http://blog.51cto.com/357712148/2068662