본문 바로가기
컴퓨터/리눅스

[Linux] 041. 프로세스(process)란? & 프로세스 종류 및 명령어

by Tommy0927 2021. 1. 5.
반응형


1. 프로세스(process)란?


프로세스란 cpu에서 연속적으로 실행되고 있는 모든 프로그램을 말합니다. 여러 개의 프로세서를 사용하는 것을 '멀티프로세싱' 이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 방식을 '멀티테스킹'이라고 합니다.

 

윈도우에서 'shift + Ctrl + Esc' 를 누르면 위에 사진처럼 실행중인 파일과 해당 파일이 사용하고 있는 cpu와 memoty, disc, network, gpu를 상세히 볼 수 있으며 이와같이 실행중인 것을 프로세스라고 합니다.

 

 

 


2. 프로세스 종류 와 명령어  :  포그라운드, 백그라운드 프로세스 & ps 명령어


프로세스의 종류로는 2가지가 있습니다.

 

 

1) 포그라운드(fore ground) 프로세스

 

 

- 화면에 보이는 상태에서 동작하는 프로세스입니다.

- 화면에 보이면서 동작하며 그 와중에 다른 작업은 불가한 프로세스입니다.

 

예를들어,

'cp -r /usr/sbin /tmp'을 치면 그에 해당하는 작업이 지속적으로 보여지며 끝마치고 난 후에야 다른 작업을 수행할 수 있는 처리 방식입니다.

 

대표적인 예를들어 대화형 프로세스를 들 수 있습니다.

'y'를 치지 않고서는 다음으로 넘어가지 않는 처리방식입니다.

 

 

2) 백그라운드(back ground) 프로세스

 

 

- 화면에 보이지 않는 상태에서 동작하는 프로세스

- 다른 작업 가능

 

 

예를들어,

'cp -r /usr/sbin /tmp &' 를 입력하면, '2391'이라는 숫자가 산출되는데, 이것은 처리중에 있다는 뜻이며,

다른 작업도 동시에 진행할 수 있도록 [root@tommy ~]# 프롬프트가 보이는 것을 확인할 수 있습니다.

 

그리고 처음 명령한 것을 처리하면 'Done'이라는 결과로 알려주는 방식입니다.

 

대표적인 예로서 데몬(deamon) 프로세스가 있습니다.

특정 서비스(프로그램) 실행을 위해서 백그라운드 상태에서 동작하는 서버 프로세스 입니다.

 

 

 

 

3) 리눅스에서 프로세스 확인하는 명령어

 

- 'ps'명령어 

 

'ps'를 입력하면, 현재 진행중인 프로세스를 보여줍니다.

 

 

 

- 'ps -ef'

 

'-ef' 옵션을 추가하면, 모든 프로세스의 자세한 정보를 알려줍니다.

 

UID : user id 를 나타냅니다.

 

PID : Process id를 나타냅니다.

          PPID의 자식 프로세스이기도 하며, 윈도우의 'CMD'와 같은 의미로 해석하면 됩니다.

         명령(cmd)을 입력하면 PID는 숫자로 표시됩니다.

 

PPID : parent id를 나타냅니다. PID의 부모프로세스라고 생각하면 됩니다.

 

C : cpu점유율, 사용량을 나타냅니다.

 

STIME : '접근 시간'을 나타냅니다.

 

TTY : 프로세스와 시스템간의 연결형태를 나타냅니다.

         tty = console 접근을 의미, pts = 가상 console 접근을 의미(원격접속)

 

TIME : 사용시간을 나타냅니다.

 

CMD : 명령어를 나타냅니다.

 

해석을 해보자면,

 

UID가 STIME 때 TTY을 통해 접근을 한 후에 CMD=PID를 실행시키는데 걸리는 시간이 TIME이고,

이 때, 사용한 cpu점유율이 C 이다.

 

 

- 'pstree'

 

'pstree' 를 입력하면 실행되고 있는 프로세스 상태를 트리형식으로 표시해주는 것을 확인할 수 있습니다.

 

 

 

- 프로세스 중지하는 방법

 

'kill [option] [PID]' 를 입려하여 프로세스를 중지 및 삭제할 수 있습니다.

 

예시를 들어보겠습니다.

 

'Tommy'라는 사용자로 로그인을 한 상태입니다.

 

'ps -ef |grep Tommy'를 입력하니, Tommy가 'pts/1' 원격으로 접속이 된 상태이며,

2632라는 'PID' 실행번호로 -bash를 사용중에 있습니다.

 

접속중인 이 실행번호 '2629' 원격접속을 'kill 2629' 입력하여 차단할 수 있습니다.

 

사용자는 강제 로그아웃이 된것을 확인할 수 있습니다.

반응형

댓글