반응형
목차
start.sh
jboss service를 구동하는 쉘 예시다.
서비스 구동 시 vm 옵션을 전달해서 백그라운드로 실행하고(표준 출력, 에러 무시) pid를 파일로 저장한다.(kill할 때 사용)
#!/bin/sh
#vm 옵션
JAVA_OPTS="-Dglobals.profiles.active=dev"
echo "jboss start."
#jboss start
nohup ./standalone.sh $JAVA_OPTS 1>/dev/null 2>&1 &
#pid 저장
echo $! > admin.pid
#로그 출력
tail -f ../standalone/log/server.log
stop.sh
프로세스 실행 시 만든 admin.pid파일에서 pid를 찾아서 kill한 뒤 pid 파일을 삭제한다.
#!/bin/sh
kill $(cat /경로/admin.pid) #start.sh 시작시 생성하는 pid파일
echo "killed!"
rm -rf /경로/admin.pid
start_custom.sh
jboss 실행 시 -Djboss.server.base.dir 옵션을 주니 pid가 2개가 생겨서 마지막에 생성된 pid를 찾아서 죽여야 했다.(단독 인스턴스를 2개 만들어야 해서 저렇게 했다.)
#!/bin/sh
#vm 옵션
JAVA_OPTS="-Dglobals.profiles.active=dev"
echo "admin start."
#jboss start(vm 옵션 전달, 표준 출력, 에러 무시)
nohup ./standalone.sh -Djboss.server.base.dir=/home/dev1/app/jboss-eap-7.4/standalone $JAVA_OPTS 1>/dev/null 2>&1 &
# 프로세스가 올라가는 동안 pid를 찾아서 pid를 찾으면 파일로 저장 후 반복문 종료
while true; do
#pid 찾는다.
if ps aux | grep "java" | grep -v grep | grep "standalone" > /dev/null; then
#마지막 pid를 변수에 치환
latest_pid=$(ps aux | grep "java" | grep -v grep | awk '{print $2}' | sort -n | tail -n 1)
#pid 파일로 저장
echo $latest_pid > admin_pid.txt
break
fi
# 1초 대기 후 재시도
sleep 1
done
#로그 출력
tail -f ../standalone/log/server.log
개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.
틀린 점 있을 경우 댓글 부탁드립니다.
반응형
'IT > DevOps' 카테고리의 다른 글
[linux] linux jboss eap 7.4 install, setting/ deploy (22) | 2023.12.30 |
---|---|
[WAS] jboss eap 7.4 ssl 적용 (feat. openssl) (22) | 2023.12.30 |
[linux] 리눅스(CentOS) 방화벽 해제 (22) | 2023.12.30 |
[linux] linux svn install/setting (feat. redhat) (21) | 2023.12.30 |
[linux] 리눅스에 cubrid 설치(feat. cubrid 11.2 ver) (27) | 2023.12.23 |