본문 바로가기
Develop/Server

[Linux] 리눅스 Process 설명 및 명령어 정리

by 코딩의성지 2020. 8. 24.

오늘 정리해둘 내용은 리눅스나 유닉스에서 굉장히 중요하게 사용되는 용어니 잘 정리해두길 바란다.

 

Process

하드에 저장된 실행 프로그램 혹은 소스 코드가 메모리에 로딩되어 할성화된 것을 바로 Process라고 한다. Process와 관련된 몇가지 중요한 개념들을 설명 드리겠다.

 

Foreground Process

실제로 실행하면 화면상에서 ui 가 나타나서 사용자와 상호작용을 하는 프로세스를 말한다. 크롬이나 파이어 폭스같은 브라우저를 실행시키면 화면상에 인터넷 창이 열리는데, 이렇게 ui 상에 표현되는 것을 Foreground Process 라고한다.

 

Background Process

화면에는 나타나지 않고 뒷단에서 실행되는 프로세스를 의미한다. 서버의 데몬이나 백신 프로그램 등 실제 실행되는 화면을 볼 수 없지만 실행되는 프로그램들이 대표적인 예이다.

 

Process 번호

메모리에 로딩되어 있는 Process들 각각의 고유번호를 의미한다. 이 번호를 활용하여 메모리에 올라와 있는 프로세스를 강제로 제거할 수 있다.

 

작업 번호

Background Process의 순차 번호를 의미한다.

 

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

모든 프로세스는 혼자서 독립적으로 실행되지 않고, 부모 프로세스의 하위에 종속되어 실행이된다. 예를 들면 크롬브라우저가 혼자서 실행되는 것이아니라 x윈도 프로세스를 부모로하고 그 하위에 자식프로세스로 실행이 되는 것이다.

만약 여러분이 부모 프로세스를 죽이면 자식프로세스도 같이 죽는다는 것도 알고 가면 좋을 것 같다.

 

 

Process 관련 주요 명령어

 

ps -ef | grep 프로세스이름

이 명령어는 실무에서 아주 아주 많이 쓰인다. 현재 프로세스의 상태를 확인하는 명령어로 많인 옵션과 함께 사용될 수 있으니 꼭 외워두면 좋을듯하다.

 

 

kill -9 프로세스번호

이 명령어 역시 많이 쓰인다. 서버를 재기동하기전에 기존에 떠있는 서버 데몬을 해당 명령어로 죽이고 재기동하거나 예상치 못하게 무한루프가 도는 프로세스를 죽일때도 사용한다. 

 

 

pstree

부모 프로세스와 자식 프로세스의 관계를 트리 형태로 나타낸다. 한눈에 보기 편해서 자주 사용한다.

 

ctrl + z ( 프로세스 일시중지)
bg

포그라운드로 실행중인 프로세스를 백그라운드로 전환한다.

 

jobs
fg 작업번호

현재 백그라운드로 가동 중인 프로세스를 확인하고, 해당 프로세스를 포그라운드 프로세스로 전환한다.

 

 

실행명령어 &

특정한 실행명령어 뒤에 & 가 붙으면 해당 명령어를 백그라운드로 실행시키겠다는 의미가 된다. 다만 백그라운드로 실행가능한 명령어들만 된다는 것을 유의하자.

 

 

 

반응형

댓글