시스템 의 상황 을 감시 하고 당신 이 알 아야 할 두 세 가지!
어떤 사용자 의 진행 정 보 를 얻 습 니 다:
function GetPID #user #name
{
PsUser=$1
#echo $PsUser
PsName=$2
#echo $PsName
pid=`ps -u $PsUser | grep $PsName | grep -v grep | grep -v vi | grep -v dbx
| grep -v tail | grep -v start | grep -v stop | sed -n 1p | awk '{print $1}'`
echo $pid
}
PID=`GetPID lgy cat`
echo $PID
#The process does not exist.
if [ "-$PID" == "-" ]
then
{
echo "The process does not exist."
}
fi
이 안가장 기본 적 인 프로 세 스 모니터링 명령 과 관련 되 어 있 습 니 다. Liux 에서 man ps 만 있 으 면 많은 사용 설명 을 받 을 수 있 습 니 다. grep 는 일정한 일치 규칙 에 따라 문자열 분할 매 칭 을 하고 간단 한 제어 문 도 있 습 니 다. 이런 기본 적 인 셸 문법 은 우리 의 기본 적 인 기능 이 어야 합 니 다. 저녁 에 많은 학습 자료 가 있 을 것 입 니 다.
CPU 사용률 획득:
function GetCPU
{
CPUValue=`ps -p $1 -o pcpu | grep -v CPU | awk '{print $1}' | awk -F. '{print $1}'`
echo $CPUValue
}
function CheckCPU
{
PID=$1
cpu=`GetCPU $PID`
if [ $cpu -gt 80 ]
then
{
echo "The usage of cpu is larger than 80%"
}
else
{
echo "The usage of cpu is normal"
}
fi
}
CheckCPU $PID
이 프로그램 은 이전 코드 세 션 과 일맥상통 하여 이 세그먼트 코드 가 실 행 됩 니 다.
결 과 는 이따가 그 에 상응하는 전시 가 있 을 거 야!
이 스 크 립 트 의 주요 목적 은 프로 세 스 의 메모리 사용 상황 을 검사 하 는 것 입 니 다.
function GetMem
{
MemUsage=`ps -o vsz -p $1 | grep -v VSZ`
((MemUsage /= 1024))
echo $MemUsage
}
mem=`GetMem $PID`
if [ $mem -gt 1600 ]
then
{
echo "The usage of memory is larger than 1.6G"
}
else
{
echo "The usage of memory is normal"
}
fi
이 프로 세 스 를 가 져 오 는 핸들 사용량 입 니 다:
function GetDes
{
DES=`ls /proc/$1/fd | wc -l`
echo $DES
}
des=`GetDes $PID`
if [ $des -gt 900 ]
then
{
echo "The number of des is larger than 900"
}
else
{
echo "The number of des is normal"
}
fi
진행 하 다.
어떤 포트 에 대한 바 인 딩 조회:
function Listening
{
TCPListeningNum=`netstat -an | grep ":$1 " | awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l`
UDPListenNum=`netstat -an | grep ":$1 " | awk '$1 == "udp" && $NF == "0.0.0.0:*" {print $0}' | wc -l`
((ListeningNum = TCPListeningNum + UDPListenNum ))
if [ $ListeningNum == 0 ]
then
{
echo "0"
}
else
{
echo "1"
}
fi
}
isListen=`Listening 8080`
if [ $isListen -eq 1 ]
then
{
echo "The port is listening"
}
else
{
echo "The port is not listening"
}
fi
시스템 CPU
의 사용 현황:
function GetSysCPU
{
CPUIdle=`vmstat 1 5 | sed -n '3,$p' | awk '{x = x + $15} END {print x/5}' | awk -F. '{print $1}'`
CPUNum=`echo "100-$CPUIdle" | bc`
echo $CPUNum
}
cpu=`GetSysCPU`
echo "The System CPU is $cpu"
if [ $cpu -gt 90 ]
then
{
echo "The usage of system cpu is larger than 90%"
}
else
{
echo "The usage of system cpu is normal"
}
fi
얻다
제 정 된 디스크 공간:
function GetDiskSpc
{
if [ $# -ne 1 ]
then
return 1
fi
Folder="$1$"
DiskSpace=`df -k | grep $Folder | awk '{print $5}' | awk -F% '{print $1}'`
echo $DiskSpace
}
Folder="/dev"
DiskSpace=`GetDiskSpc $Folder`
echo "The system $Folder disk space is $DiskSpace%"
if [ $DiskSpace -gt 90 ]
then
{
echo "The usage of system disk($Folder) is larger than 90%"
}
else
{
echo "The usage of system disk($Folder) is normal"
}
fi
이 컴퓨터 에서 코드 검사 결과
다음 과 같다.
lgy@lgy-HP:~$ ./monitorCPU.sh
2388
The usage of cpu is normal
The usage of memory is normal
The number of des is normal
The port is not listening
The System CPU is 1
The usage of system cpu is normal
The system /dev disk space is 1%
The usage of system disk(/dev) is normal
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
✨〰️ ZI 〰️✨ Vim 구문❮ ZI ❯ 🧙♀️ Zsh를 위한 스위스 아미 나이프. 모든 것을 함께 붙일 수 있도록 설계되었습니다. zsh 유형의 파일에 있는 명령에 대한 Vim 구문 정의입니다. 📥 설치 Vim 플러그인으로 로드합니다. 예를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.