????????????????е????????????????????????????????????????????????????????л??????????????????????????????????Linux???????????????????????????????????????????????????????檔??????????????棬?????????и????????????????Linux?У????fork??????????????????exit()???????????????????????????????????????????????????????????????wait()??waitpid()?????ò?????????????

?????????????б????????????У?task_list???????????б??У??????е??????????????task_struct?????????????????Linux???slab??????????task_struct???????????????slab?????????????task_struct?????????????????????????????μ????struct thread_info???????????????PID?????????????????????????PID???????????????????????У????е???????PID?1??init?????????PID???????32768???????С????????????????????????/proc/sys/kennel/pid_max??????????

???????????????????TASK_RUNNING??TASK_INTERRUPTIBLE??TASK_UN INTERRUPTIBLE??_TASK_TRACED??_TASK_STOPPED??

??????????????

????????????????????У???????????????????????????????????????????????????????????????“??????????”????????????????С???????????и??????????????????в???????????????????????????????????????????????????????????????С??????ú????????????????????????????????????з?????????????Щ????

???????????

??????????????????????????PID????????????PPID??????????????????????????????????????PID?????Щ????????????????????????Linux??fork()???д??????????д??????????????????????????????????????????????????????????????????????????????????????????????fork()????????????????????????????????????????????????????????????????????У??????????????????????exec()????????????????д????????????????????????????е?????п????????????д??Vfork()?????????????????????????????fork?????????vfork??????????ò?????????????

??????????

????????????????????clone??????????????????????????????????????????????Щ????????????????????????????ɡ????????????????????????????????ж?????????????????????????У????????л?????????????????????????????????????????????????????

????????????kthreadd???????????????????μ???????????????????????????д???????μ???????????????????????????kthread_creat()??????????????wake_up_process()????????????????kthread_run()???????????????????????????do_exit()??????????????????????????kthread_stop()?????

?????????exit()?????????????????????????????????????????????????????????????????????????????а????????????????????????????????????????????????????????????????????????????У??????exit??????????????????????????????????е?wait??????ɡ?Wait??????????????????????????????????е??????????????

???????????

???????????????????????????????????????????????????????????μ???????????Щ???????????????????????????????????檔?????????????????????????????????????????????????????У???init?????????????