오늘의하루

Step1-3. 빌드 후 백그라운드 실행이 되지 않아 외우게 된 명령어 본문

Spring/mini Project

Step1-3. 빌드 후 백그라운드 실행이 되지 않아 외우게 된 명령어

오늘의하루_master 2024. 2. 8. 11:21

지금 문제점은 빌드 후 포그라운드에서는 정상 실행이 되지만 백그라운드 실행 시 연결이 되지 않는것이다.

이를 위해 Ubuntu에서 포트번호와 pid값을 자주 찾게 되어 외우게 되었다.


Execute Shell

#!/bin/bash
jar_file="demo/target/demo-0.0.1-SNAPSHOT.jar"

pid=$(pgrep -f "demo-0.0.1-SNAPSHOT.jar")
if [ -n "$pid" ]; then
    kill -9 $pid
    echo "실행 중인 프로세스를 종료했습니다."    
else
	echo "실행 중인 프로세스가 없습니다."
fi

if [ -f "$jar_file" ]; then
    nohup java -jar $jar_file &
    echo "새로운 JAR 파일을 실행했습니다."
else
    echo "JAR 파일이 존재하지 않습니다."
    exit 1
fi

now_pid=$(pgrep -f "demo-0.0.1-SNAPSHOT.jar")
echo "현재 실행 후 PID 값은 $now_pid"
port_number=8099

test_pid=$(lsof -ti :$port_number)
if [ -n "$test_pid" ]; then
    echo "포트 $port_number를 사용하는 프로세스의 PID는 $test_pid 입니다."
else
    echo "포트 $port_number를 사용하는 프로세스가 없습니다."
fi

포트번호로 PID를 조회

  • COMMAND
  • PID
  • USER
  • FD
  • TYPE
  • DEVICE
  • SIZE/OFF
  • NODE
  • NAME
sudo lsof -i :8099

이름으로 pid 찾는 방법

 pgrep -f "name"

 

Comments