리셋 되지 말자

프로세스, 데몬 본문

Linux Study

프로세스, 데몬

kyeongjun-dev 2020. 3. 20. 11:44

프로세스 : 하드디스크에 저장된 실행코드(프로그램)가, 메모리에 로딩되어 활성화된 것

- 실행하기 전에는 프로그램. 실행하면 프로세스

 

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

- 실행하면 화면에 나타나서 사용자와 상호작용을 하는 프로세스

- 대부분의 응용프로그램

 

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

- 실해은 되었지만 화면에는 나타나지 않고 실행되는 프로세스

- 백신 프로그램, 서버 데몬 등

 

프로세스 번호

- 각각의 프로세스에 할당된 고유번호

 

작업 번호

- 현재 실행되고 있는 백그라운드 프로세스의 순차번호

 

(실습)

ps -ef | grep fire

위의 명령어로 fire 가 들어가는 프로세스를 출력하면,

프로세스 번호가 1960, 부모 프로세스 번호가 1인 firewalld 프로세스를 확인할 수 있다.

 

 

kill 1960

kill 명령어를 사용해 프로세스 번호가 1960인 firewalld 프로세스를 종료시킬 수 있다.

만약 프로세스가 종료되지 않는다면 'kill -9' 옵션을 주어 강제종료 시킬 수 있다.

그럼에도 종료가 되지 않는다면, 해당 프로세스의 부모 프로세스를 종료시켜야 한다.

(부모 프로세스가 종료되면, 자식 프로세스도 종료된다.)

 

 

 

(실습2)

yes > /dev/null

yes를 입력하면 y가 무한으로 출력되는데, 이를 /dev/null로 보냄으로 써 무의미한 프로세스를 임의로 실행해준다. 

그러면 무한으로 실행되므로 Ctrl + C 등의 명령어로 중지시키지 않으면, 아무것도 할 수가 없다.

 

 

ps -ef 명령어로 확인해주면, 아래와 같이 yes 프로세스가 실행중인 것을 확인할 수 있다.

 

kill로 프로세스를 죽이면, 중지할 수 있다.

 

 

 

(실습3)

백그라운드로 보냈다가 포그라운드로 다시 보내는 걸 해보자. 

 

Ctrl + Z로 일시 중지를 한뒤에, 'bg'를 입력해주면 프로세스가 백그라운드로 넘어간다.

이때 앞에 붙는 [1] 이 백그라운드 작업 번호이다.

 

다시 포그라운드로 가져오려면 fg + <작업번호> 를 입력 해주면 된다.

 

명령어 &

명령어를 실행할 때, & 을 붙여주면, 백그라운드로 실행되도록 할 수 있다.

예를들어 tar 명령어 등으로 압축을 할때, 백그라운드로 실행하게 되면 압축 중에 다른 작업들을 진행할 수 있게 된다.

'Linux Study' 카테고리의 다른 글

RSCSA-특정 유저 파일 복사  (0) 2021.08.22
파일 시스템 권한  (0) 2021.08.06
su, su - 차이  (0) 2021.08.06
서비스, 소켓  (0) 2020.03.20
파이프, 필터, 리다이렉션  (0) 2020.03.20
Comments