본문 바로가기
OS/Linux

[Linux] Process

by BTC_효범 2022. 11. 9.

안녕하세요. BTC95입니다.

오늘은 리눅스 프로세스에 대해 알아보겠습니다.


프로세스

프로세스(Process)를 정의하면 하드디스크에 저장된 실행 코드(프로그램)가 메모리에 로딩되어 활성화 된 것 입니다.

 

예를 들어 웹 브라우저 프로그램인 Firefox는 하드디스크 어딘가에 저장되어 있습니다.

이렇게 하드에 저장된 파일을 '프로그램'이라고 부르며,

Firefox를 실행해서 화면에 나타난 상태를 '프로세스'라고 부릅니다.


프로세스 관련 필수 용어

포그라운드 프로세스(Foreground Process)

위에서 얘기한 Firefox 등과 같이, 실행하면 화면에 나타나서 사용자와 상호 작용하는 프로세스를 말합니다.

화면에서 실행되는 것이 보이는 프로세스라고 생각하면 됩니다.

 

백그라운드 프로세스(Background Process)

실행은 되었지만 화면에 나타나지 않고 뒤에서 실행되는 프로세스를 말합니다.

바이러스 백신, 서버 데몬 등은 눈에 보이지 않지만 실행되고 있습니다.

 

프로세스 번호

메모리에 로딩되어 활성화된 프로세스를 구분하려면 각각의 고유 번호가 필요합니다. 이렇게 각각의 프로세스에 할당된 고유 번호를 프로세스 번호라고 합니다.

프로세스 번호가 필요한 이유는, 활성화된 프로세스를 메모리에서 강제로 제가하려면 프로세스 번호가 필수적으로 사용되어야 합니다.

 

작업 번호

현재 실행되는 백그라운드 프로세스의 순차 번호를 의미합니다.

 

부모 프로세스와 자식 프로세스

모든 프로세스는 혼자서 독립적으로 실행되는 것이 아니라 부모 프로세스의 하위에 종속되어 실행됩니다.

예를 들어 Firefox 같은 경우 X 윈도 프로세스가 구동된 상태에서 실행되어야 하므로, X 윈도는 Firefox의 부모 프로세스이며, Firefox는 X 윈도의 자식 프로세스라고 부릅니다.

그리고 부모 프로세스를 종료하게 되면 그에 종속된 자식 프로세스도 모두 종료됩니다.


프로세스 관련 주요 명령어

ps

현재 프로세스의 상태를 확인하는 명령어로, 많은 옵션과 함께 사용할 수 있습니다.

프로세스의 번호 및 상태를 확인할 때는

ps -ef |grep 프로세스이름

명령어를 사용합니다.

 

kill

프로세스를 강제로 종료하는 명령어로, -9 옵션과 함께 사용하면 무조건 프로세스가 강제로 종료됩니다.

kill -9 프로세스번호

 

pstree

부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여줍니다.


감사합니다.

'OS > Linux' 카테고리의 다른 글

[Linux] Service  (0) 2022.11.25
[Linux] 명령어 jobs  (0) 2022.11.17
[Linux] 네트워크 보안을 위한 SELinux  (0) 2022.11.04
[Linux] free 명령어 (2)  (0) 2022.10.26
[Linux] free 명령어 (1)  (0) 2022.10.20

댓글