개발자 미니민의 개발스터디

[생활코딩 : 리눅스] 프로세스 / 백그라운드 작업

by mini_min

프로세스 

컴퓨터에는 기본적으로 SSD, HDD 같은 저장장치, 메모리, CPU 가 필요하다. 

이를 포괄적으로 프로세서라고 한다. 

 

메모리와 스토로지 : 정보를 둘 다 정보를 저장하는데, 스토리지는 가격이 저렴하고 메모리는 비싸다. 스토리지는 용량이 크지만 속도가 매우 느리다. (메모리는 그 반대이다.) 

프로그램은 처음에 스토리지에 저장되어 있다. 
그러다가 실행이 될 때만 메모리로 올라간다. 
그리고 CPU 는 메모리에 올라온 프로그램을 읽어 동작시킨다. 
🪄 메모리가 빠르기 때문에 필요한 프로그램을 메모리에 적재시켜서 CPU 가 읽도록(동작시키도록) 하는 것이다. 

 

🦋 프로그램 : 파일 형태로 스토리지에 저장되어 있는 것 

🦋 프로세스 : 메모리에 올라온 프로그램 

🦋 프로세서 : CPU 

- 프로세서(CPU) 가 메모리의 프로세스를 읽어 실행시킨다. 

 

프로세스 모니터링은 (ps, top, htop) 으로 가능하다. 

각각의 프로세스 리스트를 보여주는데, htop 은 top 이랑 비슷하지만 좀 더 시각적으로 표현한 프로세스 리스트를 보여준다. 

 


백그라운드 작업 (fg)

어떤 작업을 하다가 다른 작업을 하면 잠시 멈춰지는 작업은 백그라운드로 들어간다. 

Ctrl + z 로 현재 하던 작업을 백그라운드로 보낼 수 있다. 

 

fg : for ground 라는 명령어로, 백그라운드로 숨겨진 작업을 가능하도록 한다.

[@]+ / [@]- : 현재 백그라운드에 존재하는 프로그램 카운트 (+ 와 - 는 fg 를 했을 때 나오는 순서이다. 두번째 백그라운드 프로그램을 실행시키고 싶으면 fg %@ 을 사용한다.)

jobs : 현재 백그라운드에 존재하는 프로그램을 보여준다.

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기