IT 기술 문서

2025.02.01 16:22

CentOS 7 유용한 명령어 시리즈 - ③ 프로세스 및 서비스 관리

  • it2033 4일 전 2025.02.01 16:22
  • 4
    0

alt text


CentOS 7에서는 실행 중인 프로세스를 관리하거나 특정 서비스를 제어하는 것이 중요합니다. 이 글에서는 프로세스 및 서비스 관리에 유용한 명령어들을 정리하겠습니다.


프로세스 관리

1. 실행 중인 프로세스 확인

1.1. 현재 실행 중인 프로세스 목록 확인

ps aux
  • 시스템에서 실행 중인 모든 프로세스를 확인할 수 있습니다.

  • 사용자, PID(프로세스 ID), CPU 및 메모리 사용량 등을 출력합니다.

1.2. 특정 프로세스 검색

ps aux | grep httpd
  • 특정 프로세스를 검색할 때 사용합니다.

  • 웹 서버(Apache) 등 특정 프로세스를 찾을 때 유용합니다.

1.3. 프로세스 계층 구조 확인

pstree
  • 부모-자식 관계를 계층 구조로 표시합니다.

  • yum install psmisc 패키지를 설치해야 사용할 수 있습니다.


2. 프로세스 종료 및 제어

2.1. 특정 프로세스 종료 (PID 사용)

kill -9 PID
  • 프로세스 ID(PID)를 이용해 강제 종료합니다.

  • kill -15 PID는 정상 종료를 시도하며, -9는 강제 종료합니다.

2.2. 특정 프로세스 종료 (프로세스명 사용)

pkill -9 processname
  • processname에 해당하는 모든 프로세스를 종료합니다.

2.3. 실행 중인 특정 스크립트 종료

pkill -f script.py
  • script.py라는 이름이 포함된 모든 프로세스를 종료합니다.

2.4. 특정 프로세스 일시 중지 및 재개

kill -STOP PID  # 프로세스 일시 중지
kill -CONT PID  # 일시 중지된 프로세스 재개

실시간 시스템 모니터링

3. CPU 및 메모리 사용량 확인

3.1. 실시간 CPU 및 메모리 사용량 확인

top
  • CPU 및 메모리 사용량을 실시간으로 확인할 수 있습니다.

  • 특정 프로세스가 시스템을 과도하게 사용하는지 확인할 때 유용합니다.

3.2. 더 직관적인 프로세스 모니터링

htop
  • yum install htop으로 설치 후 실행 가능합니다.

  • top보다 직관적인 UI를 제공합니다.

3.3. 프로세스별 메모리 사용량 확인

ps aux --sort=-%mem | head -10
  • 메모리 사용량이 높은 프로세스 상위 10개를 출력합니다.


서비스 관리 (systemctl)

CentOS 7에서는 systemctl을 사용하여 서비스(데몬)를 관리할 수 있습니다.

4. 서비스 상태 확인

systemctl status httpd
  • httpd(Apache 웹 서버) 서비스의 상태를 확인합니다.

  • active (running), inactive (dead), failed 등의 상태를 확인할 수 있습니다.

5. 서비스 시작 및 중지

5.1. 특정 서비스 시작

systemctl start httpd
  • Apache 웹 서버(httpd)를 시작합니다.

5.2. 특정 서비스 중지

systemctl stop httpd
  • 실행 중인 httpd 서비스를 중지합니다.

5.3. 특정 서비스 재시작

systemctl restart httpd
  • httpd 서비스를 즉시 재시작합니다.

6. 부팅 시 서비스 자동 실행 설정

6.1. 특정 서비스 부팅 시 자동 실행

systemctl enable httpd
  • httpd가 시스템 부팅 시 자동으로 시작되도록 설정합니다.

6.2. 특정 서비스 부팅 시 자동 실행 해제

systemctl disable httpd
  • httpd 서비스가 부팅 시 자동 실행되지 않도록 설정합니다.

6.3. 특정 서비스가 현재 자동 실행되는지 확인

systemctl is-enabled httpd
  • enabled 또는 disabled로 상태를 확인할 수 있습니다.


로그 및 문제 해결

서비스가 정상적으로 실행되지 않을 경우, 로그를 확인하는 것이 중요합니다.

7. 서비스 관련 로그 확인

journalctl -xe
  • 최근 서비스 관련 로그를 확인할 수 있습니다.

8. 특정 서비스의 로그 확인

journalctl -u httpd --no-pager
  • httpd 서비스의 전체 로그를 확인합니다.

9. 실시간 로그 모니터링

tail -f /var/log/messages
  • messages 로그 파일을 실시간으로 확인할 수 있습니다.

  • Ctrl + C를 눌러 종료할 수 있습니다.


정리

명령어

설명

ps aux

현재 실행 중인 프로세스 목록 확인

`ps aux

grep httpd`

kill -9 PID

특정 프로세스 강제 종료

pkill -9 processname

프로세스명으로 종료

top

실시간 CPU 및 메모리 사용량 확인

htop

직관적인 프로세스 모니터링 (설치 필요)

systemctl status httpd

특정 서비스 상태 확인

systemctl start httpd

서비스 시작

systemctl stop httpd

서비스 중지

systemctl restart httpd

서비스 재시작

systemctl enable httpd

부팅 시 자동 실행 설정

systemctl disable httpd

부팅 시 자동 실행 해제

journalctl -xe

서비스 관련 로그 확인

tail -f /var/log/messages

실시간 로그 확인

이번에는 CentOS 7에서 프로세스 및 서비스 관리에 유용한 명령어들을 정리했습니다. 다음 시리즈에서는 방화벽 및 네트워크 관리 명령어를 다루겠습니다.

  • 공유링크 복사