홈 › 리눅스 운영 › 03 / 13

프로세스·서비스 관리 (systemd)

섹션 7진행 0 / 13

프로세스·서비스 관리 — ps·kill 로 프로세스를 다루고, systemd 로 자바 앱을 서비스로 띄우기

자바 프로세스가 지금 떠 있는지, 왜 죽었는지, 서버를 재부팅해도 다시 뜨는지를 다룹니다. ps·kill 로 프로세스를 보고 끝내는 법과, systemd 유닛 파일로 Spring Boot jar 를 정식 서비스로 등록하는 법을 배웁니다.

1. 왜 배우는가

java -jar app.jar & 로 띄운 앱은 터미널을 닫으면 죽고, 서버가 재부팅되면 사라집니다. 누가 어떤 옵션으로 띄웠는지도 남지 않습니다. 이런 앱은 운영이 아니라 실험입니다.

RHEL 계열 서버는 systemd 가 모든 서비스를 관리합니다. 유닛 파일 20줄이면 부팅 시 자동 시작, 죽으면 재시작, 로그 수집, 실행 계정 분리가 한 번에 해결됩니다. systemctl status myapp 한 줄로 상태를 확인합니다.

그 아래에는 프로세스와 신호라는 기본 개념이 있습니다. kill 이 왜 "죽이기" 가 아니라 "신호 보내기" 인지, 종료 코드 143 이 무슨 뜻인지 알면 장애 로그가 읽힙니다. 이 레슨의 스크립트는 프로세스 부분만 Git Bash 에서 실행되고, systemctl 부분은 유닛 파일 문법 검토로 대신합니다.