
각 프로세스 그룹은 프로세스 세션에 속해야 합니까? 즉, 프로세스 그룹은 프로세스 세션 내에서만 존재하는 개념인가요?
어떤 프로세스 세션에도 속하지 않는 프로세스 그룹이 있나요? 프로세스 그룹에 세션 ID가 없을 수 있나요?
disown
내장 명령을 통해 bash 쉘에서 프로세스 그룹을 편집할 때disown
,프로세스 그룹이 여전히 존재합니까?
원래 프로세스 그룹에 있던 프로세스가 여전히 동일한 그룹 ID를 갖고 있습니까? 즉, 여전히 프로세스 그룹을 형성하고 있습니까?
답변1
POSIX 정의회의그러므로:
작업 제어 목적으로 설정된 프로세스 그룹의 모음입니다. 각 프로세스 그룹은 세션의 구성원입니다. 프로세스는 해당 프로세스 그룹이 속한 세션의 구성원으로 간주됩니다. 새로 생성된 프로세스는 생성자의 세션에 참여합니다. 프로세스는 세션 멤버십을 변경할 수 있습니다.세트ID(). 동일한 세션에 여러 프로세스 그룹이 있을 수 있습니다.
모든 프로세스 그룹은 세션에 속합니다. 그러나 이러한 개념은 서로 종속되지 않으므로 프로세스 그룹이 하나의 그룹이라고 말할 수는 없습니다.개념세션 내에서만 존재합니다.
백그라운드 프로세스는 생성될 때 자체 프로세스 그룹에 할당되므로 disown
프로세스 그룹을 변경하지 않습니다.disown
Bash만 실행하는 워크시트:
disown
[-ar
] [-h
] [작업 사양...]매일 삭제할 수 있는 옵션 없음작업 사양활성 워크시트에서. 만약에작업 사양존재하지 않고 옵션도 제공되지
-a
않으면-r
현재 작업이 사용됩니다. 이 옵션이 주어 지면-h
각작업 사양SIGHUP
테이블에서 삭제되지는 않지만 쉘이 이를 수신하도록 표시됩니다SIGHUP
.작업 사양이 옵션이 제공되면 옵션 없이-a
모든 작업을 삭제하거나 표시한다는 의미입니다.-r
작업 사양매개변수는 작업을 실행하는 작업으로 제한합니다. 그렇지 않은 경우 반환 값은 0입니다.작업 사양유효한 작업이 지정되지 않았습니다.