리눅스 특정 프로세스 종료시키는(kill) 쉘 스크립트(shell script)
반복해서 프로세스를 종료시키는 과정이 번거로워서 쉘 스크립트를 짜보았다. 아직 서툴러서 검색을 많이 활용하여 원하는 결과를 얻을 수 있었다.
# ps -ef을 이용해서 원하는 프로세스 정보를 얻는다.
var1=$(ps -ef | grep ‘run_loop\.sh$’)
var2=$(ps -ef | grep ‘JenkinsHelper\.jar’)
#echo process info : ${var1}
#echo process info : ${var2}
# pid를 얻는다. (공백으로 잘라서, 두번째 argument)
second1=$(echo ${var1} | cut -d ” ” -f2)
second2=$(echo ${var2} | cut -d ” ” -f2)
#echo pid : ${second1} / length : ${#second1}
#echo pid : ${second2} / length : ${#second1}
# pid가 존재할 경우 프로세스를 kill 한다.
# -n 스트링은, 문자열 길이가 0 이 아닐 경우 true를 리턴한다.
if [ -n “${second1}” ]
then
result1=$(kill -9 ${second1})
echo process is killed.
else
echo running process not found.
fi
if [ -n “${second2}” ]
then
result2=$(kill -9 ${second2})
echo process is killed.
else
echo running process not found.
fi