7. Process Management
1) 프로세스란?
▣ 프로세스 vs 프로그램
- 프로그램 : 컴퓨터를 실행시키기 위해 차례대로 작성된 명령어 모음.
- 프로세스 : 컴퓨터 내에서 실행중인 프로그램.
▣ 프로세스 종류
- 대화형 : 프로세스의 90%를 차지함. 명령어를 실행하는 것.
- 배치 : 순차적으로 실행시켜주는 프로세스.
- 데몬 : window의 서비스와 비슷하게 필요할 때마다 불러서 사용.
2) 프로세스 동작 방식
▣ Foreground
- 사용자 눈에 보이는 동작.
- 명령어를 입력한 후 Enter
- 실행중인 포그라운 작업을 백그라운드 작업으로 전환 : Ctrl + Z
- 포그라운드 작업 취소 : Ctrl + c
▣ Background
- 실행 시간이 오래 걸리는 프로세스를 뒤로 보낼 때 사용.
- 명령어 제일 마지막에 & 를 붙여서 실행 ( ex) ping 8.8.8.8& )
- 명령이 완료되면 작업번호와 함께 Done 메시지 출력
- 백그라운드 작업 취소
1. # jobs : 백그라운드 작업번호를 확인 할 때 사용하는 명령어
2. # fg %작업번호 : 작업번호에 해당하는 백그라운드 프로세스를 포그라운드로 전환하는 명령어
3. # Ctrl + c
- 백그라운드이나 눈에 보임 그러나 백그라운드로 실행중임.
☞ Ctrl + c 로 종료가 되지 않음.
☞ jobs로 보면 running 중임.
- 백그라운드로 실행중에는 출력 와중에도 명령어 치면 돌아감.(포그라운드는 안됨.)
3) 프로세스 관련 명령어
▣ ps
- 현 프로세스 조회 가능
- usage
☞ 간단하게 조회할 때 : ps -ef
☞ 자세하게 조회할 때 : ps -aux (u : user, x : 숨겨진 프로세스)
인자 값 | 의미 |
-a | 현재 실행중인 모든 프로세스 출력 |
-E | 모든 프로세스 정보 출력 |
-L | Long Format |
-F | Full Format |
- ps -ef 결과화면
- ps -aux 결과화면
- Process Field
인자 값 | 의미 |
User | 프로세스 실행 사용자 |
PID | 프로세스 ID |
%cpu %mem | 최근 1분간 프로세스가 사용한 CPU, 메모리 백분율 |
Rss | 사용하는 실제 메모리 크기 |
TTY | 프로세스를 제어하고 있는 터미널 |
STAT | 프로세스 상태 코드 |
☞ 프로세스 ID(PID)를 알고 있으면 강제 종료 가능
☞ 내가 원하는 프로세스 찾기 : ps -aux | grep [찾는 명령어]
▣ kill
- 프로세스 종료
- usage : kill [Option] [PID]
인자 값 | 의미 |
-9 | 프로세스 강제 종료 |
-hup | 프로세스 정보 다시 읽어들임 |
- kill 명령어 사용으로 프로세스 종료 2가지 방법
1. Ctrl + z 로 종료 후 kill
2. 다른 가상콘솔을 켜서 ps -aux | grep [해당명령어]로 pid 알아낸 후 kill
▣ 여러가지 커맨드
- cpu 정보 : uname -a
☞ system 정보 및 커널버전 확인 가능.
☞ 커널버전을 알 수 있다는 것은 앞서 말했듯이 해킹 가능함
☞ 고로 이 명령어는 root만 사용가능하게 해야함.
- 메모리 정보 : free (byte단위), free -m (MB 단위)
- 프로세스별 cpu와 메모리 점유율 (실시간반영) : # top
☞ 관리자가 많이 사용하는 명령어 -> cpu를 갑자기 많이 잡아먹는 프로세스가 발견시 바로 종료.
☞ 시스템이 갑자기 느려졌을 경우 사용.
- 시스템에 연결된 정보 : netstat -ntlp
☞ :숫자 = 포트넘버 (총 65535개 존재)
☞ state : LISTEN(대기상태), ESTABLISHED(이미 접속되어 있는 상태), CLOSED(닫겨진 상태)
- 최근 시스템 접속 정보 : last
☞ 원격 접속을 확인 할 때.. -> log
i2sec 대구지점 23기 수료생.
'해킹&보안 > Linux' 카테고리의 다른 글
[D+11] Vi editor (0) | 2017.02.21 |
---|---|
[D+10] Link (0) | 2017.02.20 |
[D+8] Permissions (0) | 2017.02.16 |
[D+7] 유저 관리 (0) | 2017.02.15 |
[D+7] 리눅스 커맨드 (3) (0) | 2017.02.15 |