¼Ö¶ó¸®½º 10(SunOS 5.10) ¿¡¼­ grep, awk °ü·Ã ¹®ÀÇ

GodokNam   
   Á¶È¸ 3827   Ãßõ 0    

 

안녕하세요?

이희천입니다.


솔라리스 5.10(intel) 에서 아래와 같이 프로세스가 실행되고 있을 때 /root/test/test_app 이 

실행되고 있는 개수(또는 PID) 얻으려는 Shell 을 작성하려 합니다.

# ps -ef

...

    root  1877  1   0   May 14 ?           0:00 /root/test/test_app

    root  1887  1   0   May 14 ?           0:00 /home/root/test/test_app    

    root  1839  1   0   May 14 ?           0:52 /home/root/test/test_app

...


-------------------------------------------------------------------------------------------

#!/bin/sh


APP_NAME=/root/test/test_app


CNT=`ps -ef | grep -w $APP_NAME | egrep -v "grep" | wc -l | awk '{print $1}'`


echo "CNT : $CNT"

-------------------------------------------------------------------------------------------

위 shell 코드는 리눅스에서는 정상적으로 1개로 나옵니다.


그러나 솔라리스 5.10(intel) 에서는 grep -w 을 사용할 수가 없어서 다음과 같이 변경하였습니다.

-------------------------------------------------------------------------------------------

#!/bin/sh


APP_NAME=/root/test/test_app

############ 아래 커맨드는 /root/test/test_app 이 포함된 3개가 다 나옴 ################################

ps -ef | grep $APP_NAME | egrep -v "grep" | awk '{print $NF} END { }'

##########################################################################################

CNT=`ps -ef | grep $APP_NAME | egrep -v "grep" | awk '{if($NF == "$APP_NAME") print $2} END { }' | wc -l | awk '{print $1}'`


echo "CNT : $CNT"

-------------------------------------------------------------------------------------------

위 결과는 0이 나옵니다.


아래와 같이 변경하였을 때는 결과값이 1이 나옵니다.

CNT=`ps -ef | grep $APP_NAME | egrep -v "grep" | awk '{if($NF == "/root/test/test_app") print $2} END { }' | wc -l | awk '{print $1}'`


변수를 사용하여 원하는 결과값을 얻을 수 있는 방법이 없는지요?


감사합니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇϰÔ.
pgrep -f ¸¦ »ç¿ëÇÏ¿© ÇØº¸¸é ¾î¶³±î¿ä.
#!/bin/sh
APP_NAME=/root/test/test_app
CNT=`pgrep -f $APP_NAME|wc -l`
echo "CNT : $CNT"
     
GodokNam 2020-05
°¨»çÇÕ´Ï´Ù. ´öºÐ¿¡ Àß ÇØ°áµÉ °Å °°½À´Ï´Ù.


QnA
Á¦¸ñPage 4367/5728
2014-05   5255919   Á¤ÀºÁØ1
2015-12   1780847   ¹é¸Þ°¡
2017-03   3829   ½ÅÀº¿Ö
2019-08   3828   °Å´Ï½ºÆ®
2017-10   3828   ÇÖµô¸Ç
2018-11   3828   ÆÄ¼Ò³ª
2014-09   3828   ¹éµÎ¼º
2019-07   3828   Â÷³ÝÄÄÇ»ÅÍ
2016-12   3828   ¼­µ¿±¹
2015-04   3828   Á¤¿µÃ¶
2017-07   3828   µ¿Ä¡¹Ì
2018-02   3828   ¹Ì¼ö¸Ç
2016-10   3828   ´«ÆÃµ¹ÀÌ
2020-01   3828   È­Á¤Å¥»ï
2020-05   3828   GodokNam
2017-11   3828   ¾ç¼¼¸¶¸®
2015-02   3828   ¯¯¸Ç
2021-07   3828   ÆÈÄÚ
2018-07   3828   ¹Ì³ª¸®³ª¹°
2019-09   3828   º¸ÅÁ
2017-03   3828   ¼ÛÁÖȯ
2018-12   3828   Astarot