JID(Job ID)가 정확히 무엇인지, 어떻게 할당되는지 모르겠습니다. PID와 어떤 관련이 있나요? 어떤 숫자가 다른 숫자의 크기에 어떤 영향을 미치나요?
답변1
bash
내가 사용한 쉘에서는 PID와 작업 ID( , dash
및 ) 사이에 관계가 없습니다 zsh
.
그러나 쉘 작업은 쉘의 하위 프로세스이며 PID 1( init
)은 쉘을 포함한 모든 프로세스의 조상입니다. 따라서 작업 ID가 1인 프로세스는언제나PID가 작업 ID보다 큽니다.
작업 ID 할당은 셸에 따라 다릅니다. 에서는 bash
실행 중인 백그라운드 작업의 최대 작업 ID보다 1이 큰 작업 ID를 할당하는 것이 일반적입니다.
$ sleep 1 & sleep 10 & sleep 1 &
[1] 11367
[2] 11370
[3] 11373
$
[1] Done sleep 1
[3]+ Done sleep 1
$ sleep 1 &
[3] 11378