작업 번호 옆에 있는 "+" 및 "-" 기호

작업 번호 옆에 있는 "+" 및 "-" 기호

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

동일한 매뉴얼 페이지에서:

[...] 현재 작업은 포그라운드에 있거나 백그라운드에서 시작된 동안 중지된 마지막 작업입니다.

다소 모호합니다. 다음과 같이 이해할 수 있습니다.

  1. 모든 "작업이 포그라운드에 있거나 백그라운드에서 시작된 동안 중지되었습니다"…
  2. ...그런 다음 "마지막"을 선택합니다.

하지만 그것은:

  1. "포그라운드에 있는 동안 마지막 작업이 중지되었습니다"를 선택합니다.
  2. 하지만 그러한 작업이 없는 경우 "백그라운드에서 시작된 마지막 작업"을 선택합니다.

관련 정보