shell:采集进程的cpu和内存利用率_随手记1

1.获取时间:

DATE=`date +%Y_%m_%d`

echo $DATE

>>>2020_12_03

(注:关于参数传递,如果右边是命令就需要加 ``;如果右边是非命令就不用加 ``;引用时都是直接 $变量名)

2.读取键盘输入:

echo "请输入:"

read input

echo $input

>>>(用户输入的数据)

3.递归创建目录:

mkdir -p path/tmp

>>>(创建目录path/tmp)

4.获取进程cpu和内存使用率

_USER=`whoami`

_PSNAME=tomcat

_PS=ps -ef | grep $USER | grep java | grep $PSNAME

_PID=echo $_PS | awk '{print $2}'

_PROCESS=`top -b -c -n 1 -p $_PID` | grep $_PID

_PROCESSNAME=`echo $_PROCESS | awk '{print $14}'`

echo "processname is :" | tr -d ' ' && echo $_PROCESSNAME

_PCPURATE=`echo $_PROCESS | awk '{print $9}'`

_PMEMRATE=`echo $_PROCESS | awk '{print $10}'`

_SYSCPURATE=`top -b -n 1 | grep "Cpu(s)" | awk '{print $2}'`

_SYSMEMRATE=`free -m | grep "Mem" | awk '{print $3/$2*100}'`

echo $_PCPURATE >> $PATH/cpurate_$PROCESSNAME.csv

...

5.删除换行符

..| tr -d ' '

>>>(输出的文字就没有换行符)

6.while循环

while true

do

  循环体

  sleep 3

done

原文地址:https://www.cnblogs.com/jinziguang/p/14084172.html