[ 목차 ]
728x90
반응형
grep
grep이 파일의 문자열을 검색할 때, 단순 문자열 매칭이 아니라, 정규 표현식(Regular Expression)에 의한 패턴 매칭(Pattern Matching) 방식을 사용
✔ start.sh
proc=`ps -ef | grep AAAAAAA-0.0.1-SNAPSHOT.jar | grep $LOGNAME | grep -v vi | grep -v grep | grep -v sh`
if [X"$proc" != X"" ]; then
echo "[$proc] aleadt executed.."
else
javaja -server -Dspring.profiles.active=dev -jar Terashot-0.0.1-Center.jar &
fi
// bash stat.sh 로 시작하기
- proc=ps -ef | grep AAAAAAA-0.0.1-SNAPSHOT.jar | grep $LOGNAME | grep -v vi | grep -v grep | grep -v sh``
- ps -ef 명령어를 사용하여 현재 실행 중인 모든 프로세스를 조회합니다.
- grep AAAAA-0.0.1-SNAPSHOT.jar를 통해 AAAAA-0.0.1-SNAPSHOT.jar이 포함된 프로세스만 필터링합니다.
- grep $LOGNAME을 통해 현재 사용자(LOGNAME)와 일치하는 프로세스만 필터링ㄴㅅ합니다.
- grep -v vi를 통해 "vi"를 제외한 프로세스만 필터링합니다.
- grep -v grep를 통해 "grep" 명령어 자체를 제외한 프로세스만 필터링합니다.
- grep -v sh를 통해 "sh" 명령어 자체를 제외한 프로세스만 필터링합니다.
- 최종적으로 조회된 프로세스 목록을 proc 변수에 할당합니다.
- if [X"$proc" != X"" ]; then
- "$proc" 변수의 값이 비어있지 않은 경우를 확인합니다.
- echo "[$proc] aleadt executed.."
- 이미 실행 중인 프로세스가 존재하는 경우, 해당 프로세스 목록을 출력합니다.
- else
- 이미 실행 중인 프로세스가 없는 경우, 아래의 명령어를 실행합니다.
- java -server -Dspring.profiles.active=dev -jar Terashot-0.0.1-Center.jar &
- java 명령어를 사용하여 Terashot-0.0.1-Center.jar 파일을 실행합니다.
- -server는 서버 모드로 JVM을 실행하는 옵션입니다.
- -Dspring.profiles.active=dev는 "dev" 프로파일을 사용하여 Spring 애플리케이션을 실행하는 옵션입니다.
- -jar Terashot-0.0.1-Center.jar는 Terashot-0.0.1-Center.jar 파일을 실행하는 옵션입니다.
- &는 프로세스를 백그라운드에서 실행하도록 설정합니다.
✔ stop.sh
ps -ef | grep AAAAAAA-0.0.1-SNAPSHOT.jar | grep $LOGNAME | grep -v vi | grep -v grep | grep -v sh | \
grep -v tail | grep -v vi | awk ' { print $2 }' | \
while read PID
do
echo kill -9 &PID
kill -9 &PID
done
exit
- ps -ef | grep AAAAAAA-0.0.1-SNAPSHOT.jar | grep $LOGNAME | grep -v vi | grep -v grep | grep -v sh | \ grep -v tail | grep -v vi | awk ' { print $2 }'
- ps -ef 명령어를 사용하여 현재 실행 중인 모든 프로세스를 조회합니다.
- grep AAAAAAA-0.0.1-SNAPSHOT.jar를 통해 AAAAAAA-0.0.1-SNAPSHOT.jar이 포함된 프로세스만 필터링
- grep $LOGNAME을 통해 현재 사용자(LOGNAME)와 일치하는 프로세스만 필터링합니다.
- grep -v vi를 통해 "vi"를 제외한 프로세스만 필터링합니다.
- grep -v grep를 통해 "grep" 명령어 자체를 제외한 프로세스만 필터링합니다.
- grep -v sh를 통해 "sh" 명령어 자체를 제외한 프로세스만 필터링합니다.
- grep -v tail를 통해 "tail" 명령어 자체를 제외한 프로세스만 필터링합니다.
- grep -v vi를 통해 "vi"를 제외한 프로세스만 필터링합니다.
- awk ' { print $2 }'를 통해 프로세스 목록에서 두 번째 열인 PID 값만 추출합니다.
- while read PID
- PID 변수를 선언하고, 앞서 추출한 PID 값을 순차적으로 할당합니다.
- do
- 반복문의 시작을 나타냅니다.
- echo kill -9 $PID
- 종료할 프로세스의 PID를 출력합니다. (실제로 종료하지는 않습니다.)
- kill -9 $PID
- -9 옵션을 사용하여 해당 PID에 해당하는 프로세스를 강제로 종료합니다.
- done
- 반복문의 종료를 나타냅니다.
- exit
- 스크립트의 실행을 종료합니다.
반응형
'업무 기록 > ETC' 카테고리의 다른 글
Linux 서버 권한변경 및 war 파일 올리기 (0) | 2023.07.13 |
---|---|
리눅스(Linux) nginx 설정 (0) | 2023.07.11 |
Eclips 환경설정(마켓플레이스, 사설망 Maven Update, mirror) (0) | 2023.06.24 |
리눅스 파일 (0) | 2023.06.24 |
신입 메모1 (0) | 2023.05.23 |