프로세스의 상위 프로세스를 변경할 수 있습니까? 그렇다면 어떻게?
예를 들어
어떻게
screen
연결하는 관리screen
세션과 다른 쉘 프로세스에 내부에서 실행중인 프로세스를? 부모 프로세스의 변경이 있습니까?프로그램이 실행중인 쉘 프로세스의 다른 변경 방법에 대해 들었지만 기억이 없습니다. 프로그램의 부모 프로세스도 변경 되었습니까?
disown
프로세스가 프로세스의 상위 프로세스를 변경 한다고 생각했는데 이름이disown
암시 하기 때문 입니다. 그러나 나는 그것이 사실이 아니라는 것을 알았습니다.Emacs 클라이언트는 다른 터미널 탭에서 emacs 서버에 연결할 수 있습니다. 부모 프로세스의 변경이 있습니까?
getppid(2)
시스템 호출 및 시스템 호출이 커널에 의해 처리됩니다. 호출을 실행하고 값을 저장 한 다음 상위 항목이 변경된 후 해당 값을 사용하여 프로그램을 혼동 할 수 있습니다. 여기에 경쟁 조건이있을 수 있습니다.
disown
쉘의 자식 프로세스 목록에서 주어진 자식을 제거합니다. 아이의 PPID는 쉘의 PPID로 유지됩니다. 쉘은 그 자식을 시작한 것을 잊어 버렸지 만 커널은 기억합니다.