直接贴代码:
#!/bin/bash
echo "************ RM /tmp File about Manager, Begin... **************"
str=`ps aux | grep "/Manager" | grep -v grep | awk '{print $2}'`
echo $str Manager
kill -9 $str
if [ "$?" -eq 0 ]; then
echo "kill success"
else
echo "kill failed"
fi
rm /tmp/m_fifo
echo "************ RM Success... **************"
解析:
ps (processStatus):显示所有进程状态;
- ps a 显示现行终端机下的所有程序,包括其他用户的程序。
- ps u 以用户为主的格式来显示程序状况。
- ps x 显示所有程序,不以终端机来区分。
|:管道,表示将前一个表达式的出参当作下一个表达式的入参
grep grep “/Manager” :过滤出来Manager进程;
grep -v grep:过滤掉含有‘grep’字段的条目;
awk awk’{print $2}’:awk是行处理器。按行,以空格分段的字符串,打印第二列信息;
$(expression):获取表达式返回值,用于给kill命令杀进程
$? 代表上一次命令是否执行成功的bool量,成功是0,失败是1.