반응형

* 개요: 서버가 문제가 있어서 shell script로 아파치 톰캣 재기동 sh을 작성할 때 정상적으로 동작을 하지 않아서 강제로 ps를 kill 하고 톰캣을 재기동하는 shell script를 작성해보았다.

 

var1=`netstat -nap | grep 9091`   // 톰캣 ps 확인 명령어
// 포트 정보와 listen 상태 ps/ps명이 결과로 나타난다

IFS=' ' read -ra ps_arr <<< "$var1"   // 위 결과를 배열로 만든다

arr_size=${#ps_arr[@]}   // 배열 크기 저장

var_str=${ps_arr[arr_size - 1]}   // ps/ps명 마지막 string만 필요하니 변수에 담는다

var_ps="${var_str:0:(-5)}"   // ps/ps명(예: 12345/java)에서 /java 글자를 빼고 ps만 담는다

kill ${var_ps}   // kill ps

* 주의: 깔끔하게 한다고 변수명 뒤 = 앞뒤에 공백이 있으면 에러가 발생한다.

* 마무리: 생각보다 어렵지는 않아서 검색하면서 수정하면 본인에 맞게 원하는 sh 작성이 가능하다.

* 배열 관련 참고: https://blog.naver.com/juner84/100191014657

 

[Linux-shell] bash shell에서 배열 선언 및 배열 크기 확인

[Linux-shell] bash shell에서 배열 선언 및 배열 크기 확인   bash shell에서도 다른 언어에서 처럼...

blog.naver.com

 

반응형

+ Recent posts