아주 간단한 팁을 발견해서 가볍게 적어보고자한다. 보통 리눅스 시스템에서 프로세스를 확인할때 ps -ef | grep java
같은 명령어를 주로 쓸것이다.
그런데 이때 하나 불편한게 grep도 하나의 실행 프로세스로 보고 grep까지 프로세스 목록에 함께 노출되어서 불편함이 있다.
특히나 어플리케이션 배포나 cron으로 특정 job을 실행하는 경우 쉘스크립트에 ps명령어를 통해 현재 동작하는 프로세스가 있는지 확인하는 경우가 많은데 이때 grep 프로세스 까지 함께 출력되는 경우 처리하기가 곤란하다
예를들어 ps -ef | grep some-job
명령어를 실행했을때
이렇게 뜨는 경우 추가적으로 쉘스크립트 내에서 문자열을 추가로 검사하는등 골치아픈 처리가 예상된다.
하지만 grep -v grep이라는 명령을 추가해준다면 grep 프로세스는 제외하고 실행 목록을 보여주기 때문에 좀 더 간편하다
ps -ef | grep -v grep | grep some-job
도움이 되었기를 바라며!
도움 되었습니다. 쉘스크립트 작성할때 그냥 카운트를 1 더주고 계산했는데,,, 감사합니다.