(14) 리눅스에서 백그라운드 작업해보기 (vs 윈도우에서 멀티태스킹)

2019. 3. 26. 10:16 OS/Linux

리눅스에서도 백그라운드 작업을 할 수 있다. 

 

1.  jobs : 백그라운드 작업들의 목록을 보여준다. 

2.  해당 프로그램을 작성하던 중 다른 작업을 하고 싶을 때, 해당프로그램을 백그라운드로 보내기 위해서는 Ctrl + z 를 입력한다. 

 ※ Ctrl + z : 실행중인 프로그램을 백그라운드로 보내는 단축키이다. 이 때 이 기능을 실행하면 명령어가 일시 정지 된다. 


3. jobs 를 입력하였을 때 백그라운드 작업 목록 3개(1,2,3)가 나타났다고 가정하자. 

 이 때 + 표시가 있는 것은 가장 우서순위  - 표시는 그다음 실행될 우선순위 그리고 아무런 표시가 없는 것은 - 표시가 있는 작업 이후에 순차적으로 일어날 프로그램이라고 보면된다. 

 

4. 만약 특정 작업(2번 작업)을 다시 fore ground 에서 작업하고 싶다면?  

  - fg %2 라고 하면 두번째 작업이 실행된다.  이 때 fg 는 foreground 의 약자이다. 


5.  3번 작업을 죽이고 싶다면 ?

  - kill %3


6. ls -R 과 같은 모든 디렉터리에 포함된 파일들을 나타내는 명령어의 경우 시간이 얼마나 걸릴지 모른다. 이러한 작업을 무작정 기다리기 싫을 때 즉, 처음부터 이러한 작업을 백그라운드로 돌리기 위한 작업방법이 존재한다. 

   - & 가 명령어 뒤에 붙으면 명령어가 실행될 때 백그라운드로 실행된다. 

   - 6번과 같은 경우에는  ls - alR의 시간이 오래걸리는 작업이므로 처음부터 이 작업을 할 경우 백그라운드에서 돌리겠다는 의도의 명령어이다. 

ls - alR / > result.text 2> error.log



출처: https://sourceflower.tistory.com/66?category=613435 [소스플로우]