bash 매뉴얼 페이지는 다음과 같이 말합니다.
작업과 관련된 출력(예: jobs 명령의 출력)에서 현재 작업은 항상 +로 표시되고 이전 작업은 -로 표시됩니다. 단일 %(수반되는 직무 지정 없음)도 현재 직무를 나타냅니다.
내 벨로우 시리즈 명령에서예 2 > /dev/null &, 나는 직업 [2]가 직업[1]이 아니라 현재 직업일 것이라고 예상했습니다.
또한 명령이 끝나면예 3 > /dev/null &나는 jobs 명령 출력이 다음과 같을 것으로 예상했습니다.
[1] 중지됨
[2] - 실행 중
[3]+ 실행 중
내가 무엇을 놓치고 있나요?
$ yes 1 > /dev/null
^Z
[1]+ Stopped yes 1 > /dev/null
$ jobs
[1]+ Stopped yes 1 > /dev/null
$ yes 2 > /dev/null &
[2] 3082
$ jobs
[1]+ Stopped yes 1 > /dev/null
[2]- Running yes 2 > /dev/null &
$ yes 3 > /dev/null &
[3] 3116
$ jobs
[1]+ Stopped yes 1 > /dev/null
[2] Running yes 2 > /dev/null &
[3]- Running yes 3 > /dev/null &
답변1
동일한 매뉴얼 페이지에서:
[...] 현재 작업은 포그라운드에 있거나 백그라운드에서 시작된 동안 중지된 마지막 작업입니다.
다소 모호합니다. 다음과 같이 이해할 수 있습니다.
- 모든 "작업이 포그라운드에 있거나 백그라운드에서 시작된 동안 중지되었습니다"…
- ...그런 다음 "마지막"을 선택합니다.
하지만 그것은꽤:
- "포그라운드에 있는 동안 마지막 작업이 중지되었습니다"를 선택합니다.
- 하지만 그러한 작업이 없는 경우 "백그라운드에서 시작된 마지막 작업"을 선택합니다.