더북(TheBook)

프로세스를 어디에서 실행하는가?

프로세스는 포그라운드 또는 백그라운드에서 실행됩니다. 명령을 실행하여 프로세스가 종료될 때까지 기다리는 포그라운드, 기다리지 않는 백그라운드가 있습니다. 추가 입력 과정 없이 프로세스를 오랫동안 실행해야 한다면 프로세스가 종료될 때까지 다른 작업을 처리할 수 있도록 해당 프로세스를 백그라운드로 보낼 수 있습니다. 프로세스를 백그라운드로 보내 처리하려면 실행 명령 뒤에 ‘&’ 기호를 붙입니다.

find 명령을 백그라운드로 실행시켜 봅니다. 명령을 실행하면 명령이 실행되자마자 프롬프트가 출력되면서 다른 명령을 수행할 수 있게 됩니다. a*는 a로 시작하는 모든 파일을 의미합니다. 이때 나오는 번호는 해당 프로세스의 PID를 의미합니다.

shinjaehun@losttemple:~$ sudo find -name a* &
[1] 6826

ps로 확인하면 find 명령이 아직 실행 중이라는 사실을 알 수 있습니다.

shinjaehun@losttemple:~$ ps -ef | grep find
root      6826  4347  1 16:10 pts/0    00:00:00 sudo find -name a*
shinjae+  6828  4347  0 16:10 pts/0    00:00:00 grep --color=auto find

kill로 백그라운드에서 실행 중인 프로세스를 종료합니다. ps로 프로세스가 종료된 상태를 확인할 수 있습니다.

shinjaehun@losttemple:~$ sudo kill -9 6826
[1]+  죽었음             sudo find -name a*
shinjaehun@losttemple:~$ ps -ef | grep find
shinjae+  6848  4347 0  16:12 pts/0    00:00:00 grep --color=auto find
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.