작업 번호 옆의 "+"및 "-"기호


1

bash 맨 페이지에는 다음과 같이 쓰여 있습니다.

작업 관련 출력 (예 : 작업 명령의 출력)에서 현재 작업에는 항상 + 표시가 있고 이전 작업에는 - 표시가 있습니다. 하나의 % (함께 작업 스펙이없는)는 현재 작업을 나타냅니다.

필자는 예 2> / dev / null &> 이후에 작업 [2]이 현재 작업이 아닌 작업 [1]이 될 것으로 기대했습니다.

또한 yes 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 &

포 그라운드 작업이 일시 중지 된 경우에도 항상 최신 작업임을 나타냅니다. 그래서 포어 그라운드 작업, 위의 예에서 job [1]은 항상 '+'기호로 표시됩니다.
Ravi Kumar,

답변:


0

같은 맨 페이지에서 :

[...] 현재 작업. 포 그라운드 또는 백그라운드에서 시작된 동안 마지막 작업이 중지되었습니다.

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

  1. 그들이 포 그라운드에 있거나 백그라운드에서 시작한 동안 모든 "일자리를 멈추게하십시오".
  2. ... "마지막"을 선택하십시오.

그러나 그것은 오히려 :

  1. "포 그라운드에서 멈춘 마지막 작업"을 가져옵니다.
  2. 그런 직업이 없다면 "배경에서 시작된 마지막 일"을 선택하십시오.

감사! 마침내 이해 한 것 같습니다. 전경에서 예 1을 시작한 다음 일시 중지했습니다. 그런 다음 두 가지 전경 작업을 시작하고 같은 방법으로 일시 중지했습니다. 그런 다음 세 가지 배경 작업을 시작했습니다. 전경 작업 # 3은 가장 최신이고 전경 작업 # 2는 이전 작업입니다.
Ravi Kumar,
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.