¸®´ª½º ½© ½ºÅ©¸³Æ® °ü·Ã ¹®ÀÇ

CandleNo1   
   Á¶È¸ 26090   Ãßõ 0    

 Cent OS 7.9 

sh 파일 무한 반복 실행  

ck.sh 파일은 아래와 같습니다. 


#!/bin/sh


c_running() {

        ps ax|grep -v grep|grep -c "$*" > /dev/null 2>&1

}


do_ping() {

        if [ $? -eq 1 ]

        then

                        /bin/sh /serv/ping/do_ping.sh      > /serv/logs/ping-log

        fi

}


while true

do


        c_running "/bin/sh /serv/ping/do_ping.sh"

        do_ping do_ping

        sleep 5

done


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


해당 파일을 

sh ck.sh &   

명령으로 무한 반복중 


불특정 시간이 지날때 해당 프로세스가 자동으로 죽음 


특별한 이슈 사항은 안 보이는데 종료 되여 서비스가 안되고 있습니다. 

혹시 참고할만한 사항이 있을 가요 ? 

¼¼¼ÇÀ¯Áö¿Í ¿¬°üÀÖ¾î º¸À̴µ¥¿ä
¼¼¼Ç À¯ÁöÁ¶°ÇÀ» È®ÀÎÇغ¸¼Å¾ß ÇÒ°Í°°¾Æ¿ä...
     
CandleNo1 2023-03
ÆÄÀÏÀº Âü°í·Î root ·Î ±ÇÇÑÀº 777·Î µÇ¿© ÀÖ½À´Ï´Ù.
±×·¯°í º¸´Ï ssh ·Î Á¢¼ÓÇÏ¿© sh ck.sh & ½ÇÇàÈÄ ssh ¼¼¼ÇÀÌ ²÷±â¸é ÇÁ·Î¼¼½º°¡ Á¾·áµÇ´Â°Å °°³×¿ä ..   
ÁÖ±âÀûÀ¸·Î Á¦°¡ ssh ¼¼¼ÇÀ» ¾È ²÷¾úÀ» ¶§´Â 10½Ã°£ °¡±îÀ̵µ ½©ÆÄÀÏÀÌ ÁßÁö ¾ÈµÇ¿´´ø°Å °°½À´Ï´Ù.
¹éµÎ¼º 2023-03
¿ø°Ý ½© Á¢¼ÓÀ¸·Î ½ºÅ©¸³Æ® ½ÇÇà ÁßÀ̶ó¸é nohup À̳ª screen »ç¿ëÇغ¸¼¼¿ä.
¿À´Ã ºùêÀ¸·Î ½© ½ºÅ©¸³Æ® ÀÛ¼ºÀ» À§ÇØ µµ¿òÀ» ¹Þ¾Ò´Âµ¥,
Áú¹®À» Àß ÇÏ¸é ¿øÇÏ´Â ´ä¿¡ °¡±õ°Ô °á°ú¸¦ ¾òÀ» ¼ö ÀÖÀ¸´Ï Q/A º¸´Ù ÈξÀ ÁÁÀº °Í °°½À´Ï´Ù.
µ¥¹Ì¾È¸¸ ÀÌ¿ëÇÏ°í Cent OS´Â ¾È½áºÁµµ ¸ð¸£°ÚÁö¸¸..
¼­ºñ½º·Î µî·Ï½ÃÅ°°Å³ª,
ºÎÆà °¡´ÉÇÑ ½Ã½ºÅÛÀ̸é cron¿¡ @reboot ¸¦ ÀÌ¿ëÇؼ­ ½ÃÀÛÇϸ鼭 ½ÇÇàÇϰųª,
¸ÅºÐ¸¶´Ù ½ÇÇàÇصµ µÇ¸é ¿ª½Ã cron¿¡ µî·Ï½ÃÄѼ­ ÀÌ¿ëÇØ º¸°Ú½À´Ï´Ù.
½© ³»¿¡¼­ sleep À» ÁÖ°í ¹«ÇÑ ·çÇÁ¸¦ ÁÖ´Â ±¸Á¶°°Àºµ¥, À­ºÐ ¸»¾¸´ë·Î cronÀ¸·Î ¿ÜºÎ¿¡¼­ ÁÖ±âÀûÀ¸·Î ½ÇÇà½ÃÄÑÁÖ´Â ±¸Á¶°¡ ´õ ¾ÈÁ¤ÀûÀÏ°Å °°½À´Ï´Ù.
´Ù¸¸, cronÀº ÃÖ¼Ò 1ºÐ ÁÖ±âÀ̹ǷΠȤ¿© 1ºÐ³»¿¡ ¿©·¯Â÷·Ê ¼öÇàÀÌ ¿Ï·áµÉ ¼ö ÀÖ´Â °æ¿ì¿¡´Â ½ÇÇà½Ã°£°ú ÇÁ·Î¼¼½º ±â ½ÇÇà¿©ºÎ µîÀ» °í·ÁÇÏ¿© ÇÑÁ¤ÀûÀ¸·Î ·çÇÁ¸¦ µ¹¾ÆÁÖ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.

¾Æ·¡´Â ¿¹ÄÁµ¥ /serv/ping/do_ping.sh °¡ 10ÃÊÁ¤µµ ¼Ò¿äµÈ´Ù °¡Á¤ÇÒ¶§ 1ºÐ¿¡ ¾à 6ȸÁ¤µµ ÇÁ·Î¼¼½º¸¦ üũÇؼ­ ¹Ýº¹Çؼ­ µ¹·ÁÁÖ´Â ½© ½ºÅ©¸³Æ® »ùÇà ÀÔ´Ï´Ù.
ÇØ´ç ½©À» cron¿¡ µî·ÏÇؼ­ ºÐ¸¶´Ù ½ÇÇà½ÃÄÑ ÁÖ¸é µË´Ï´Ù.

#!/bin/bash
for i in {1..6}
do
    #  ÇÁ·Î¼¼½º »óÅ ȮÀÎ
    if ps -ef | grep /serv/ping/do_ping.sh | grep -v grep > /dev/null
    then
        #  ½ÇÇà ÁßÀÎ °æ¿ì 10ÃÊ ´ë±â ÈÄ Àç½ÇÇà
        sleep 10
    else
        # ½ÇÇà ÁßÀÌÁö ¾ÊÀº °æ¿ì ½ÇÇà
        /serv/ping/do_ping.sh &
    fi
done
±èÀå¿ì 2023-05
#!/bin/sh

c_running() {
    ps ax | grep -v grep | grep -q "$*"
}

do_ping() {
    if [ $? -eq 1 ]; then
        /bin/sh /serv/ping/do_ping.sh > /serv/logs/ping-log
    fi
}

while true; do
    c_running "/bin/sh /serv/ping/do_ping.sh"
    do_ping
    sleep 5
done

¼öÁ¤ »çÇ×:
1. ps ax|grep -v grep|grep -c "$*"À» ps ax | grep -v grep | grep -q "$*"·Î º¯°æÇß½À´Ï´Ù. -q ¿É¼ÇÀ» »ç¿ëÇϸé grepÀÌ Ã£Àº °á°úÀÇ °³¼ö¸¦ Ãâ·ÂÇÏÁö ¾Ê°í, ãÀº °á°ú°¡ ÀÖÀ¸¸é Á¾·á »óÅ 0À» ¹ÝȯÇÕ´Ï´Ù. ÀÌ·¸°Ô Çϸé c_running() ÇÔ¼ö¿¡¼­ ºÒÇÊ¿äÇÑ Ãâ·ÂÀ» ÇÏÁö ¾Ê½À´Ï´Ù.
2. do_ping do_pingÀ» do_pingÀ¸·Î º¯°æÇß½À´Ï´Ù. ÀÌ·¸°Ô Çϸé do_ping ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼öÁ¤µÈ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¸é ¹®Á¦°¡ ÇØ°áµÉ °ÍÀÔ´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϸé, 5Ãʸ¶´Ù do_ping.sh ½ºÅ©¸³Æ®°¡ ½ÇÇà ÁßÀÎÁö È®ÀÎÇÏ°í, ½ÇÇà ÁßÀÌ ¾Æ´Ï¸é ÇØ´ç ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© °á°ú¸¦ ·Î±× ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù.

---------------------------------
chatGPT°¡ ÀÌ·¸°Ô Ç϶ó³×¿ä~?!
½ÇÇàÇغ¸Áø ¾Ê¾Ò½À´Ï´Ù. ^^


Á¦¸ñPage 9/102
2023-04   14400   ºñ¿À´Â³¯¿ì»ê
2023-04   15268   Æë±Ï±ÃµÕÀÌ
2023-03   24406   nelson1945
2023-03   27240   plug5
2023-03   25772   ³¥³¥¸Ç
2023-03   26091   CandleNo1
2023-03   25543   °í¾çÀ̴¾ֿË
2023-03   22147   °í¾çÀ̴¾ֿË
2023-03   12472   °Å·è
2023-03   10336   ¾öû³­x
2023-03   8489   ksahn90
2023-03   11642   Áß²©¸¶
2023-03   11862   ³¥³¥¸Ç
2023-03   12894   ÁöÀ¯¾Æºü
2023-03   12232   ÁöÁ¸ÄÄÇ»ÅÍ
2023-03   16311   ¶óÀÌÅ©À¯
2023-02   16067   ¶óÀÌÅ©À¯
2023-02   15338   ¹Ú°Ç
2023-02   10988   remonemo
2023-02   12669   Rainwalk