리눅스 - 프로세스 관련 명령어

반응형

# 프로세스 명령어

프로세스의 상태 (실행, 대기, 준비)

  • foreground : 명령의 실행이 종료될 떄까지 다른 명령어는 실행X, 대기
  • background : 명령의 실행유무와 상관X, 다른 명령어 같이 실행 가능(멀티태스킹)
    • 명령어 끝에 "&" 입력시 background 프로세스로 실행

fore/background로 변경하는 방법

  • 실행 상태에서 Ctrl+Z -> bg/fg 명령어 입력

프로세스 상태 변경

  • 작업취소 : Ctrl+C (계산결과삭제)
  • 작업정상종료 : Ctrl+D
  • 일시중지 : Ctrl+Z (계산결과유지)

프로세스 상태 확인

  • 프로세스 상태 정보 확인 : ps -auxefl (a,u 주로사용)
  • 백그라운드로 실행중인 프로세스나 중지된 프로세스 목록 : jobs
  • 부모/자식 프로세스 계층 확인 : pstree
  • 실행중인 프로세스 상태를 실시간 화면 출력 : top

프로세스 스케줄링 우선권 변경

  • nice
    • 프로세스 스케줄링 우선권 변경
    • nice [-n 조정수치] [-adjustment] [--adjustment=조정수치] 
    • 인수X -> 스케줄링 우선 / 인수O -> 주어진 명령으로 조정된 스케줄링 우선
    • 조정수치가 생략되면 우선권 10증가, 기본값 0, 값이 작을수록 우선순위 높음
    • 일반사용자 -> 값 증가만 가능 / root -> 값 증가/감소 가능
      • 예시1) xeyes(마우스포인터 위치 확인 파일) 우선권 5 증가, 백그라운드 실행 -> nice -n 5 xeyes -fg blue &
  • renice
    • 실행중인 프로세스의 우선권 변경
    • renice 우선수치 [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
    • 소유자와 루트권한자만 사용 가능
      • 예시1) test파일(pide=1111)의 우선권 -10으로 조정 -> sudo renice -10 1111

프로세스 종료

  • 프로세스종료 : kill
  • 프로세스 이름으로 종료 : killall
    • 예시) kill 1111(pid) / killall xeyes

백그라운드 작업 명령

  • nohup
    • 터미널창을 닫아도 프로세스가 백그라운드로 계속 작업이 되어야 할 경우
    • 부모 프로세스가 죽어도 systemd 프로세스를 부모 프로세스로 변경 (systemd는 최상위 프로세스)
      • 예시1) cal 명령어로 2022년 4월 실행 후 nohup.out에 실행결과 파일 저장
        • nohup cal 04 2020 & -> 확인 cat nohup.out
반응형