指令碼計算後台程式消耗資源

2021-10-22 06:02:38 字數 1607 閱讀 2283

指令碼計算node_exporter在伺服器上消耗的cpu和記憶體

#!/bin/bash

logfile=node_log.txt

pid=$(

ps aux| grep node_exporter | grep -v 'grep'

| awk ''

)while

["pid"

!= ""]do

cpu=$(

ps aux| grep node_exporter | grep -v 'grep'

| awk ''

) cpu_count=$(

ps aux| grep node_exporter | grep -v 'grep'

| awk ''

|awk -f "."'')

mem=$(

ps aux| grep node_exporter | grep -v 'grep'

| awk ''

) mem_count=$(

ps aux| grep node_exporter | grep -v 'grep'

| awk ''

|awk -f "."'')

#echo "cpu=$cpu,mem=$mem"if[

[$cpu_count

-ge 1 |

|$mem_count

-ge 1 ]

] then

localtime=`date "+%y-%m-%d_%h:%m:%s"`

echo

"cpu=$cpu;mem=$mem ------- time:$localtime" >> $logfile

sleep 5

fidone

注釋

cpu_count和mem_count是去除小數點以及後面的數字,方便比較

這裡取1為比較基準值,記錄cpu和記憶體大於等於1的時間

終止後台執行的指令碼

[root@yx01 cron_task]

# fg

./node.sh

^c[root@yx01 cron_task]

#

或者

[root@yx01 cron_task]

# ps aux|grep node.sh

root 15973 0.0 0.0 113288 1464 pts/1 s 12:25 0:00 /bin/bash .

/node.sh

root 16541 0.0 0.0 112812 984 pts/1 s+ 12:26 0:00 grep --color=auto node.sh

[root@yx01 cron_task]

# kill -9 15973

[root@yx01 cron_task]

# [1]

+ killed .

/node.sh

jobs 顯示後台程式

作用 jobs命令顯示後台任務的執 況。用法 jobs 選項 jobspec 主要選項如下。l 長輸出用法,顯示全部內容。n 不輸出資訊。p 只輸出程序號。r 只輸出執行的程序。jobspec 表示後台任務號碼。應用例項如下。先把兩個程序放在系統後台執行,然後使用jobs命令檢視後台任務的執 況 d...

nohup後台執行 關閉後台程式

參考 在跑時間比較長的程式,或者列印資訊比較多,或者網路不穩定時,可以採用後台執行程式,然後把列印資訊儲存在檔案中,等程式結束後再檢查日誌,完成該功能可以用以下命令 1.nohup python3 u test.py test.log 2 1 2.回車 3.輸入exit命令退出終端 4.關閉shel...

ubuntu 前台程式和後台程式

以前知道了 命令後,經常使用她把程式從前台轉換到後台。後來突然想時候那個程式了,我不知所措了。本文與 ubuntu 前台程式和後台程式 這裡一般是命令後加乙個 命令即可。比如 1 31098 2 31570 輸入命令 jobs 後,發現我們的那個後台程式了。1 running pc2server 2...