중지 된 작업은 일시적으로 백그라운드에 놓이고 더 이상 실행되지 않지만 여전히 리소스 (예 : 시스템 메모리)를 사용하는 작업입니다. 해당 작업이 현재 터미널에 연결되어 있지 않으므로 출력을 생성 할 수없고 사용자로부터 입력을받지 않습니다.
jobs
bash 에서 builtin 명령을 사용하여 실행중인 작업을 볼 수 있습니다 . 아마 다른 쉘도 가능합니다. 예:
user@mysystem:~$ jobs
[1] + Stopped python
user@mysystem:~$
fg
(전경) bash 내장 명령 을 사용하여 중지 된 작업을 재개 할 수 있습니다 . 여러 명령이 중지 된 경우을 사용하여 명령 행에서 jobspec 번호를 전달하여 다시 시작할 명령을 지정해야합니다 fg
. 하나의 프로그램 만 중지 된 경우 fg
단독으로 사용할 수 있습니다 .
user@mysystem:~$ fg 1
python
이 시점에서 파이썬 인터프리터로 돌아 왔고 control-D를 사용하여 종료 할 수 있습니다.
반대로, kill
jobspec 또는 PID로 명령 을 사용할 수 있습니다 . 예를 들어 :
user@mysystem:~$ ps
PID TTY TIME CMD
16174 pts/3 00:00:00 bash
17781 pts/3 00:00:00 python
18276 pts/3 00:00:00 ps
user@mysystem:~$ kill 17781
[1]+ Killed python
user@mysystem:~$
jobspec을 사용하려면 숫자 앞에 퍼센트 (%) 키를 붙입니다.
user@mysystem:~$ kill %1
[1]+ Terminated python
작업이 중지 된 상태에서 종료 명령을 실행하면 본 경고가 표시됩니다. 안전을 위해 작업이 계속 실행됩니다. 그것은 당신이 당신이 멈춘 것을 잊었을지도 모르는 직업을 죽이려고한다는 것을 알고 있는지 확인하는 것입니다. exit 명령을 두 번째로 사용하면 작업이 종료되고 쉘이 종료됩니다. 이런 방식으로 종료되지 않는 일부 프로그램에는 문제가 발생할 수 있습니다.
bash에서는 logout
중지 된 프로세스를 종료하고 종료 하는 명령을 사용할 수 있습니다 . 원치 않는 결과가 발생할 수 있습니다.
또한 이런 방식으로 종료 될 때 일부 프로그램이 종료되지 않을 수 있으며, 그렇게하는 습관을들이는 경우 시스템은 리소스를 사용하여 많은 고아 프로세스로 끝날 수 있습니다.
사용자 입력이 필요한 경우 중지되는 백그라운드 프로세스를 작성할 수 있습니다.
user@mysystem:~$ python &
[1] 19028
user@mysystem:~$ jobs
[1]+ Stopped python
Ctrl-z
인터럽트로 중지 한 작업과 동일한 방식으로 이러한 작업을 재개 및 종료 할 수 있습니다 .