프로세스란?
컴퓨터 안의 실행되는 프로그램, 메모리에 상주된 프로그램을 의미함
프로세스의 종류
- 대화형
프로세스 종류의 대부분을 차지함
내가 실행을 해야 작동하는 일반적인 프로세스
- 배치
컴퓨터를 키자마자 자동으로 실행되는 프로세스
ex) 네이트온 등 윈도우 실행시 자동으로 실행되는 프로세스
* 윈도우에서는 cmd창에 'msconfig' → 시작프로그램 탭에서 이러한 배치형 프로세스 확인이 가능하다.
* 악성코드는 어떤 컴퓨터 안으로 침투하면 자동으로 악성코드를 작동시키기 위해서 먼저 이 시작프로그램의 등록한다.
- 데몬
윈도우의 '서비스'기능 == 리눅스의 '데몬'
'background' 형태로 실행되는 모습이 눈에 보이지 않는 프로세스
ex) 플러그인 : usb를 연결하면 '띠딩' 소리와 함께 자동으로 연결됨
윈도우의 '도움말'
프로세스의 실행방식
-Foreground
-Background
ex) 인터넷을 하다가 노래를 듣다가 그 두 개를 작동시킨 상태에서 게임을 킨다면
Foreground는 게임, Background는 인터넷, 음악 플레이어가 된다.
윈도우에서는 alt+tab 키를 이용하여 이렇게 멀티태스킹(다중 작업)이 가능하다.
리눅스에서도 명령어를 통해 이러한 멀티태스킹이 가능
리눅스의 멀티태스킹 방법
실행 중인 Foreground 작업을 Background 작업으로 전환 : ctrl + z
[1]로 일시정지 된 것을 볼 수 있다.
실행 중인 Foreground 작업 취소 : ctrl + c
Background 작업 취소를 하려면 먼저, 'jobs' 명령어를 이용해 중지할 background 번호를 확인한다.
그 후 fg %작업번호를 눌러서 Foreground로 전환한 뒤 ctrl + c
실행 시간이 오래 걸리는 프로세스를 뒤로 보낼 때 명령어 뒤에 '&'를 붙여서 실행하면 background로 실행
'ping 명령어'가 실행되는 와중에 'ls' 명령어가 실행되는 것을 볼 수 있다.
명령이 그만하려면 'fg %작업번호'로 다시 작업을 foreground로 불러와 ctrl + c로 종료
프로세스 명령어
- ps
: 현 프로세스 조회 명령어
ps -a : 현재 실행 중인 모든 프로세스 출력
ps -ef : 현재 실행 중인 프로세스를 간단히 출력
ps -aux : 현재 실행 중인 프로세스를 자세히 출력
ps -u : 사용자와 프로세스 시간 출력
ps -x : 히든 프로세스 출력
* 현재 실행 중인 프로세스가 너무 많아서 찾고자 하는 프로세스를 찾기 힘들 때는
'ps -ef | grep ____'를 이용해서 ____가 포함한 프로세스를 모두 출력할 수 있다.
pid는 프로세스의 파일 번호로 순서일 뿐 계속 바뀌게된다.
ppid는 그 pid의 부모 프로세스로 그 pid를 실행시키기 위한 프로세스 번호이다.
(부모 프로세스가 실행되어야 자식 프로세스도 실행된다.)
TTY에 '?'표시가 된 것은 사용자가 킨 프로세스가 아니라 리눅스가 실행시킨 프로세스를 의미한다.
'ps au 명령어'
%cpu, %mem은 최근 1분간 프로세스가 사용한 CPU, 메모리 백분율을 나타낸다.
STAT은 프로세스의 상태를 나타내며
R : runable : 실행 대기
D : indisk wait : 입출력 대기
S : Sleep : 자는 상태
T : Zombie : 부모 프로세스가 죽어서 제대로 실행되지도 않는데 죽지 않은 상태
- kill
프로세스 종료 명령어
'kill -9 PID' : 프로세스 강제 종료 명령어
대부분 종료가 안되기 때문에 강제 종료가 필요한 것이기 때문에 'kill -9 PID' 명령어를 사용하게 된다.
pkill : PID 말고 이름으로 프로세스를 종료시키는 명령어
- uname -p
CPU 정보를 알려줌
i686은 펜티엄 4를 의미
- free
Mem(메모리)과 Swap(가상 메모리)의 free한 상태를 보여주는 명령어
free -m을 입력하면 MB 단위로 출력해준다.
현재 메모리는 1000MB 중 984MB가 사용되었고 22MB가 남아있는 상태이다.
* idle(아이들) : 프로세스가 한가한 정도를 나타낸다.
- ps auxw | grep httpd
프로세스의 정보를 나타냄
- pstree
부모, 자식 관계를 나타내는 트리를 출력
- top
프로세스별 CPU와 메모리 점유율을 나타낸다.
시스템이 갑자기 느려졌을 경우 사용한다.
윈도우의 'alt+ctrl+del'과 가장 비슷하다.
'IT노트 > Linux' 카테고리의 다른 글
[linux]chkconfig 등록 및 활용 (0) | 2015.02.16 |
---|---|
리눅스 alias 등록 (0) | 2015.02.16 |
매일 MYSQL DB DUMP 및 30일지난 dump(.sql)파일 삭제 (0) | 2015.02.16 |
APM 관련 라이브러리 설치 (0) | 2015.02.16 |
리눅스 port를 열기 위해서는 iptables를 통해서, 포트를 열고 막고를 할 수 있습니다. (0) | 2015.02.15 |