Кіріспе

Операциялық жүйе ядролары жұмыс істеп тұрған процесті анықтау үшін пайдаланатын сан. Компьютерде процесс идентификаторы (немесе процесс ID, PID) – Unix, macOS және Windows сияқты операциялық жүйе ядроларының жұмыс істеп тұрған процесті бірегей түрде анықтау үшін қолданатын нөмірі. Бұл сан түрлі функцияларды шақыру кезінде параметр ретінде қолданылуы мүмкін, осы арқылы процестерді басқаруға болады, мысалы, процесстің маңыздылығын өзгертуге немесе оны толығымен тоқтатуға.

Unix- тәрізді

Unix-ке ұқсас операциялық жүйелерде жаңа процестер fork жүйелік шақыру арқылы жасалады. PID аталық процеске қайтарылады, осылайша ол келесі функция шақыруларында бала процеске сілтеме жасай алады. Ата-ана процесі, мысалы, waitpid функциясымен бала процестің аяқталуын күте алады немесе kill арқылы процесті тоқтатуы мүмкін. Ерекше ID-лері бар екі тапсырма бар: swapper немесе sched процесі 0 ID-сіне ие және беттерді ауыстыруға (paging) жауапты, ол әдеттегі пайдаланушы режиміндегі процестен гөрі ядроның бөлігі болып табылады. 1 процесс ID-сі әдетте жүйені іске қосу және тоқтату үшін жауапты init процесіне тиесілі. Алғашқыда 1 процесс ID-сі ешқандай техникалық шаралармен init үшін арнайы сақталмаған: ол ядро шақырған алғашқы процесс болғандықтан осы ID-ге ие болды. Жаңа Unix жүйелерінде көбінесе "процестер" ретінде көрінетін қосымша ядро компоненттері болады, мұндай жағдайда PID 1 ескі жүйелермен үйлесімділікті сақтау үшін init процесіне белсенді түрде резервтеледі. Процесс ID-лері, біріншіден, әдетте жүйеден жүйеге өзгеретін 0-ден бастап максималды мәнге дейін тізбектей беріледі. Бұл лимитқа жеткеннен кейін, үлестіру 300-ден басталады және қайтадан артады. macOS және HP-UX жүйелерінде үлестіру 100-ден қайта басталады. Дегенмен, осы және келесі кезеңдерде процеске бұрын берілген кез келген PID жіберіліп тасталады. Кейбіреулер мұны қауіпсіздіктің әлсіз тұсы деп санайды, себебі ол жүйе туралы ақпаратты алуға немесе процестер арасында жасырын хабарламалар жіберуге мүмкіндік береді. Сондықтан, қауіпсіздікке ерекше мән беретін жүйелер PID-ді үлестірудің басқа әдісін таңдауы мүмкін. Кейбір жүйелерде, мысалы MPE/iX, ең төменгі қол жетімді PID қолданылады, кейде жадыдағы процесс ақпаратының ядролық беттерінің санын азайту мақсатында. Ағымдағы процесс ID-сі getpid жүйелік шақыру арқылы немесе shell-де $$ айнымалысы ретінде қолжетімді. Бастапқы процесс ID-сі getppid жүйелік шақыру арқылы алынады. Linux жүйесінде процесс ID-сінің максималды мәні /proc/sys/kernel/pid_max псевдофайлында көрсетілген.

Pidfile файлы

Кейбір процестер, мысалы, moc музыка ойнатқышы және MySQL демоны, өздерінің PID-ін басқа процестерге анықтау үшін, белгілі бір файлға жазады.

Microsoft Windows-тың жүйелік жүйесі

Windows операциялық жүйелер тобында, ағымдағы процестің ID-ін Windows API-дың GetCurrentProcessId функциясы арқылы, ал басқа процестердің ID-ін GetProcessId функциясы арқылы алуға болады. Ішкі жүйеде процесс ID клиент ID деп аталады және ол жиектер ID-імен бірдей атау кеңістігінен бөлінеді, сондықтан олар ешқашан қайталаспайды. Жүйе бос процесіне 0 процесс ID беріледі. Жүйелік процеске Windows 2000 жүйесінде 8, ал Windows XP және Windows Server 2003 жүйесінде 4 процесс ID беріледі. Windows NT операциялық жүйелер отбасында процестер мен жиектердің идентификаторларының барлығы 4-ке бөлінеді, бірақ бұл талаптардың бір бөлігі емес.