리눅스 어플리케이션 반복 실행 테스트 방법

반응형

어플리케이션을 개발하다 보면, 어플리케이션의 실행을 반복하면서(실행과 종료를 반복) 테스트하고 싶은 경우가 있다.

 

리눅스에서 이러한 작업이 필요하여, 다음과 같은 두 개의 스크립트 파일을 만들어 테스트를 진행해 보았다.

  • 어플리케이션 실행용 쉘 스크립트 : 주기적으로 어플리케이션이 실행 중인지 여부를 확인하여 실행 중이 아닐 경우 어플리케이션을 실행한다.
  • 어플리케이션 종료용 쉘 스크립트 : 주기적으로 어플리케이션이 실행 중인지 여부를 확인하여 실행 중일 경우 어플리케이션을 종료한다.

 

어플리케이션 실행용 쉘 스크립트는 다음과 같이 만들었다.

루프를 돌면서 2초마다 my_app이라는 어플리케이션이 실행 중인지를 확인하여, 실행 중이 아니면 실행한다.

#!/bin/sh

while :
do
  echo "Check running.."
  check=`ps -ef | grep 'my_app' | wc | awk '{print$1}'`
  if [ $check -gt 1 ]
  then
    echo "already running"
  else
    echo "run my_app"
    ./my_app
  fi
  sleep 2
done

 

어플리케이션 종료용 쉘 스크립트는 다음과 같이 만들었다.

루프를 돌면서 20초 마다 my_app이라는 어플리케이션이 실행 중인지를 확인하여, 실행 중이면 종료한다.

#!/bin/sh

while :
do
  check=`ps -ef | grep 'my_app' | wc | awk '{print$1}'`
  if [ $check -gt 1 ]
  then
    echo "kill my_app"
    killall my_app
  fi
  sleep 20
done

 

이 두 개의 스크립트를 동시에 실행하면 어플리케이션 반복 실행/종료 테스트를 진행할 수 있다.

물론 이 두 스크립트를 통합하여 하나의 스크립트로 만드는 것도 가능하다.

 

 

댓글

Designed by JB FACTORY