Shell script implementation monitors the running state of a specified process _linux shell

Source: Internet
Author: User
Tags eval memory usage cpu usage

In the previous blog, once wrote the implementation of automated test procedures, now developers need to know the process of being tested (this refers to the main process running on Linux) before the abnormal exit of the process state, such as memory usage, CPU usage, and so on.

A shell script is used to implement the running state of the specified process. directly on the code.

#!/bin/sh echo "' Date '" echo "Start $---------" echo "" #每十秒监视一下 sec=10 #取得指定进程名为mainAPP, memory usage, process running state, process name Eval $ (PS | grep "Mainapp" | Grep-v grep | awk {' printf (meminfo=%s;mystatus=%s;pname=%s, $3,$4,$5) '}) echo $pName $myStatus $memInfo testprg= "" While [-N "$pName  "-A" $myStatus "!=" Z "] do echo"----------' Date '---------------------"echo $pName $myStatus $memInfo Sleep
    $sec ### #You must initialize them again!!!!! Pname= "" mystatus= "" meminfo= "" eval $ (ps | grep "Mainapp" | grep-v grep | awk {' printf ("meminfo=%s;mystatus= %s;pname=%s ", $3,$4,$5) '}) testprg= ' PS | grep "Mytester" | Grep-v grep | awk ' {print $} ' if [-Z ' $TESTPRG]; Then break fi # #注意一定要再次初始化为空 testprg= "do echo" End $---($pName, $myStatus, $TESTPRG)--------------- ----"If [-Z" $pName "]; Then # # #发现测被测试程序异常退出后, stop the test program Killall mytester echo "Stop Testprogram Mytester" fi echo "' Date '" echo "---- -----------Current Status------------------"PS | Grep-e "mainapp| Subapp "| Grep-v grep echo ""

The

Sample implements the state of the process every 10s read, it is then shown to continue monitoring when the discovery process exists and the state is non-Z (not zombie), but when the test program completes or exits unexpectedly, the script exits the monitoring loop, and after exiting the loop, prints out the state of the specified process.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.