리눅스 프로세스 관리

김명주·2025년 1월 14일

프로세스 관리 명령어

  • ps : 현재 실핼중인 프로세스 확인
    • ps aux : 모든 프로세스의 상세 정보 출력
    • ps -ef : 모든 프로세스의 상세 정보 출력
      두 명령어의 차이점은 다음과 같다.
  • top : 실시간 시스템 모니터링

    • CPU 사용률 순으로 정렬
    • q로 종료, k로 프로세스 종료 가능
    • h로 도움말 표시, u로 특정 사용자의 프로세스만 표시
    • M으로 메모리 사용률 순 정렬, P로 CPU 사용률 순 정렬로 돌아가기
  • htop : top의 개선된 버전

    • 색상구분, 마우스 지원 등 사용자 친화적 인터페이스
    • f1~f10키로 다양한 접근 가능
  • nice와 renice : 프로세스의 우선순위 조절

    • nice -n 10 [command] : 낮은 우선순위로 명령어 실행
    • renice -n -5 -p : 실행중인 프로세스의 우선순위 변경

프로세스 제어와 시그널

시그널(SIGNAL) : 프로세스에 특정 이벤트를 알리는 소프트웨어 인터럽트

  • SIGKILL (9) : 즉시 종료, 프로세스가 무시할 수 없음
  • SIGTERM (15) : 정상 종료 요청, 기본 종료 시그널
  • SIGSTOP (19) : 프로세스 일시 중지
  • SIGCONT (18) : 중지된 프로세스 재개

kill 명령어 : 시그널을 보내 프로세스 제어

  • kill -<sig> <pid> : pid 프로세스에 시그널 전달

    • kill -9 1234 : pid가 1234인 프로세스를 강제 종료
    • kill -15 5678 : pid가 5678인 프로세스에 정상 종료 요청
    • kill -SIGSTOP 9012 : pid가 9012인 프로세스를 일ㅇ시 중지
  • killall : 특정 이름의 모든 프로세스 종료

    • killall -9 java : 모든 java 프로세스 강제 종료
  • pkill : 패턴으로 프로세스 종료

    • pkill -U username : 특정 사용자의 모든 프로세스 종료
profile
개발자를 향해 달리는 사람

0개의 댓글