프로세스 관리
프로세스
- 리눅스에서 파일형태로 저장된 실행명령은 프로그램
- 실제로 호출하여 실행하면 프로세스(Process)라고 부름
- 프로세스는 메모리에 올라와야 동작 가능함
프로세스 관리 명령어
- ps : 기본적인 프로세스 목록 확인 도구
- 자주 사용하는 옵션
- ps -ef : -e 현재 쉘에서 실행되는 프로세스 이외의 시스템 프로세스 조회, -f : 상세정보 조회
- ps aux : 프로세스 별 자원 사용량 등을 상세하게 조회
- pstree : 프로세스의 부모-자식 트리구조에 따라 표시
- kill : 프로세스에 지정한 시그널을 전송, 프로세스PID로 선택
- kill -[시그널번호/시그널이름] <대상프로세스의 PID>
- Kill -l : 사용할 수 있는 각 시그널 별 번호 및 이름 확인
- 주요 시그널
9
: SIGKILL - 강제성이 있음
15
: SIGTERM - 강제성이 없음
- pkill : 프로세스에 지정한 시그널을 전송, 프로세스 이름으로 선택
백그라운드/ 포그라운드(Background/Foreground)
- 포그라운드 : 쉘에서 프로세스 실행 시, 프로세스가 실행되는 동안 사용자의 입/출력/에러가 프로세스에 연결되어 있는 상태
- 백그라운드 : 쉘에서 프로세스 실행 시, 사용자의 입/출력/에러를 실행되는 프로세스에 연결하지 않고 쉘에 연결한 상태
- 백그라운드 명령 실행 방식 : 명령어 제일 마지막에 ‘&’ 기호 추가
- jobs : 현재 실행중인 백그라운드 작업 목록 확인
- fg : 작업을 포그라운드로 전환
- 포그라운드 작업을 백그라운드로 전환 : ctrl + z (백그라운드에서 STOP상태로 전환)
- 백그라운드에서 STOP 상태인 작업을 재개 : bg