사용자가 한 명령을 사용하기 위해 쉘 프롬프트에서 그 명령을 입력하고 엔터를 치면, 쉘은 그 이름이 먼저 쉘에서 제공하는 내부 명령인지 확인하고, 내부명령이면, 그것을 자체적으로 실행합니다. 하지만, 내부 명령이 아니라면, 먼저 PATH 환경 변수에 지정된 디렉토리를 검색해서 그 파일이 있는지 확인하고, 있다면, 그 파일을 실행하도록 커널에게 지시합니다.
그러면, 커널은 그 파일의 접근 권한과 사용자를 비교해서, 실행권한이 없다면, 사용할 수 없음을 쉘에 보냅니다. 한편, 실행 할 수 있다면, 먼저 그 실행파일의 내용을 메모리에 불러 들이면서, 고유의 번호를 붙히는데, 이것을 프로세스 식별 번호(Process IDentity number - PID 번호)라고 합니다. 실행되고 있는 하나의 파일은 프로세스라고 한다는 것을 기억하시지요? 이번호는 각 프로세스들의 시작 순서에 따라 차례로 붙혀집니다.
이 번호는 커널 측면에서 본다면, 프로세스 관리 쪽에 - 멀티 테스킹 작업 - 관계가 있겠지만, 사용자는 이런 내부적인 사실에 대해서 굳이 알 필요는 없지요. 단지, 이 번호는 사용자 측면에서 본다면, 프로세스 중지 명령에서 사용됩니다.