BASH에서 다음을 수행했습니다.
while true;do bash;done
나는이 라이너를 썼지 만 처음에는 확실하지 않았다.
- 메모리 나 다른 것들이 마르면 메인 쉘과 아버지에게 많은 서브 쉘을 유지합니다.
- 이 셸이 메모리 나 다른 것들이 없어 질 때까지 서브 쉘을 낳습니다.
그러나 두 번째 경우라고 생각합니다. 한 라이너를 실행하면 프롬프트가 나온 직후에 출구와 다른 출구와 출구, 출구, 출구, 출구를 입력하기 시작했지만 여전히 돌아 오지 않았기 때문에 주요 껍질.
이제는 너무 많은 서브 쉘이 열렸고 각각의 프로그램은 하나의 프로그램이기 때문에 각각의 고유 한 PID를 가져야한다고 생각했습니다.
그래서 나는했다 :
ps aux | grep bash
이름에 bash가있는 많은 프로세스를 기대합니다.
그러나 이것과 같은 것은 없으며, bash 쉘은 두 개뿐입니다.
어떻게 가능한지, 프로세스, 셸, 서브 셸 및 PID에 대한 잘못된 아이디어가 있지만 어디에 있는지 모릅니다.