각 프로세스 그룹은 프로세스 세션에 속해야 합니까?

각 프로세스 그룹은 프로세스 세션에 속해야 합니까?
  1. 각 프로세스 그룹은 프로세스 세션에 속해야 합니까? 즉, 프로세스 그룹은 프로세스 세션 내에서만 존재하는 개념인가요?

    어떤 프로세스 세션에도 속하지 않는 프로세스 그룹이 있나요? 프로세스 그룹에 세션 ID가 없을 수 있나요?

  2. disown내장 명령을 통해 bash 쉘에서 프로세스 그룹을 편집할 때 disown,

    • 프로세스 그룹이 여전히 존재합니까?

    • 원래 프로세스 그룹에 있던 프로세스가 여전히 동일한 그룹 ID를 갖고 있습니까? 즉, 여전히 프로세스 그룹을 형성하고 있습니까?

답변1

POSIX 정의회의그러므로:

작업 제어 목적으로 설정된 프로세스 그룹의 모음입니다. 각 프로세스 그룹은 세션의 구성원입니다. 프로세스는 해당 프로세스 그룹이 속한 세션의 구성원으로 간주됩니다. 새로 생성된 프로세스는 생성자의 세션에 참여합니다. 프로세스는 세션 멤버십을 변경할 수 있습니다.세트ID(). 동일한 세션에 여러 프로세스 그룹이 있을 수 있습니다.

모든 프로세스 그룹은 세션에 속합니다. 그러나 이러한 개념은 서로 종속되지 않으므로 프로세스 그룹이 하나의 그룹이라고 말할 수는 없습니다.개념세션 내에서만 존재합니다.

백그라운드 프로세스는 생성될 때 자체 프로세스 그룹에 할당되므로 disown프로세스 그룹을 변경하지 않습니다.disownBash만 실행하는 워크시트:

disown[ -ar] [ -h] [작업 사양...]

매일 삭제할 수 있는 옵션 없음작업 사양활성 워크시트에서. 만약에작업 사양존재하지 않고 옵션도 제공되지 -a않으면 -r현재 작업이 사용됩니다. 이 옵션이 주어 지면 -h작업 사양SIGHUP테이블에서 삭제되지는 않지만 쉘이 이를 수신하도록 표시됩니다 SIGHUP.작업 사양이 옵션이 제공되면 옵션 없이 -a모든 작업을 삭제하거나 표시한다는 의미입니다.-r작업 사양매개변수는 작업을 실행하는 작업으로 제한합니다. 그렇지 않은 경우 반환 값은 0입니다.작업 사양유효한 작업이 지정되지 않았습니다.

관련 정보