ps를 이용한 프로세스 갯수세기
글쓴이: comdemo / 작성시간: 월, 2004/12/13 - 9:37오후
#!/bin/bash if [ -z $1 ] then echo "ex>> ./psnum command" else num1=`ps -ef | grep $1 | wc -l` let "num2=${num1}-2" if [ $num2 = '0' ] then echo "입력하신" $1"는 완료되었습니다." else echo "입력하신" $1"는 현재" $num2"개 작동중입니다." fi fi
위와 같이 간단하게 프로세스를 세는 쉘프로그램을 작성하였습니다.
구한 num1에서 2를 뺀건 grep과 현재 프로그램을 뺀것입니다.
코드는 맞게 작성한듯 한데 결과값이 1이 더 크게 나오네요.
제가 잘못 생각하고 있는건가요??
Forums:
wc -l로 세는 동안에 grep 프로세스가 남기 때문에 그렇습니다.
wc -l로 세는 동안에 grep 프로세스가 남기 때문에 그렇습니다.
grep xxx 한 것이 wc -l이 세는 갯수에 그대로 포함돼버린 거죠. wc -l이 종료될때 grep xxx도 같이 종료되죠.
Written By the Black Knight of Destruction
자기자신이 포함되는 문제라면 임시파일로 리다이렉션시킨 후에 세어도 됩니다
자기자신이 포함되는 문제라면 임시파일로 리다이렉션시킨 후에 세어도 됩니다.
--
익스펙토 페트로눔
[code:1]ps -ef | grep $1 | grep -v grep
ps -ef | grep $1 | grep -v grep | wc -l
이렇게 해보세요
--
Passion is like genius; a miracle.
pgrep 원츄~
pgrep 원츄~
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
pool007 님이 쓰신것처럼만 바꿔주면 되겠네용-v 옵션이 "~
pool007 님이 쓰신것처럼만 바꿔주면 되겠네용
-v 옵션이 "~ 제외하고.." 의미였지요 아마?
^^
-v 옵션은 gnu grep에만 있는 옵션인가 보네요..
HP Unix에 들어있는 grep에는 해당 옵션이 없군요.. :cry:
근데 위에서 말씀하신 부분인
grep 프로세스 한개
현재 실행하는 프로그램 프로세스 한개
이렇게 총2개를 뺀게 세고자 하는 프로세스의 갯수여야 하는거 아닌가요??
삶
Re: ^^
HP-UX에도 있던데...HPUX 버전이 어떻게 되시나요?
pidof $1 | wc -w
pidof $1 | wc -w
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
댓글 달기