리눅스에서 하던 작업을 잠시 멈추고 다른 작업을 먼저 하고 돌아왔으면 하는 때가 있다.
예를 들어 vim으로 텍스트 파일을 수정하고 있는데 생각해보니 이 파일을 백업하는 걸 까먹은 경우 등이다.
이럴 때 수정하던 파일을 저장하고 vim을 종료한 뒤에 파일 백업 후 vim을 다시 실행할 수도 있지만 더 나은 대안이 있다. 작업을 잠시 중지해 놓는 것이다.
1. 작업 중지
vim으로 doc.txt를 켠다.
[root@newhost vim]# vim doc.txt
맨 윗줄에 일부 내용을 작성했다.
이 상황에서
Ctrl + z
를 누르면 vim 프로세스가 종료되진 않고 중지 상태로 들어간다.
화면에 vim doc.txt가 Stopped 됐다는 표시가 보인다.
2. 다른 작업 진행
이제 다른 작업을 할 수 있다. doc.txt 파일을 백업한다.
[root@newhost vim]# cp doc.txt doc.txt_20240312
3. 중지했던 작업으로 돌아가기
다시 중지했던 vim 작업으로 돌아가기 위해 중지된 작업을 확인한다. jobs 명령어를 입력하면 확인할 수 있다.
[root@newhost vim]# jobs
[1]+ Stopped vim doc.txt
중지된 프로세스를 포그라운드로 다시 시작하는 명령어는
fg [작업번호]
이다.
이 경우엔 1번이기 때문에
fg 1
을 사용하거나
또는 대기 중인 작업이 하나 밖에 없기 때문에
fg
만 입력해도 vim 작업으로 돌아간다.
돌아와보면 수정하던 모습 그대로 다시 돌아온 걸 확인할 수 있다.
이처럼 ctrl + z 를 이용해서 여러 작업을 잠시 내려두고 다른 작업을 멀티태스킹 할 수 있다.