Selasa, 13 November 2018

Process ID dan relasi proses Parent-Child dalam Windows

Process ID (PID) atau process identifier adalah nomor tanda pengenal yang unik yang diberikan sistim operasi Windows untuk setiap proses yang dijalankan. Dengan menggunakan PID sebuah proses dapat mema­nipu­la­si proses lainnya. Contohnya, program Taskkill mempunyai opsi untuk mematikan proses berdasarkan nomor PID-nya.

Perlu digarisbawahi di sini bahwa keunikan dari nomor PID hanya berlaku pada saat itu juga, dalam artian pada satu saat tidak ada dua proses yang memiliki nomor PID yang sama. Windows akan memberikan lagi nomor PID dari proses yang sudah tidak berjalan lagi kepada proses baru. Hanya ada satu proses yang mempunyai nomor PID yang tetap: proses System yang memiliki nomor PID 4.

Meskipun System Idle Process selalu memiliki nomor PID 0, sebenarnya tidak ada nomor PID 0 yang diberikan sistem operasi Windows kepada proses. Nomor PID 0 hanyalah sebuah konvensi dari program Task Manager yang diikuti oleh program-program lain seperti Process Explorer.

Selain nomor PID, sistim operasi Windows juga mencatat nomor PID dari proses lain yang menjalankan se­buah proses, yang disebut dengan nama Parent PID. Dengan informasi nomor Parent PID inilah program seperti Process Explorer dapat menggambarkan relasi parent-child (bapak-anak) antara proses-proses yang sedang berjalan. Parent process adalah proses yang menjalankan satu atau lebih proses turunannya, dimana setiap proses turunannya disebut child process dari proses tersebut. Contohnya, bila anda menjalankan program Command Prompt dari Explorer dan kemudian menjalankan program Notepad dari Command Prompt tersebut, maka pada process tree dari Process Explorer posisi dari baris proses cmd.exe dan Note­pad akan diberikan indentasi ke kanan relatif terhadap parent process-nya untuk menunjukkan bahwa proses-proses tersebut adalah child process. Dan bila anda membuka dialog properties dari proses cmd.exe dan Notepad anda dapat melihat nama dan nomor PID parent process dari proses-proses tersebut.



Tidak sama halnya dengan sistem operasi Linux, dalam Windows bila sebuah proses tidak berjalan lagi, maka child process-nya tidak akan diadopsi oleh proses lain. Dengan menggunakan contoh di atas, bila proses Command Prompt anda matikan, ini tidak akan mengakibatkan proses Notepad diadopsi menjadi child process dari Explorer. Pada process tree dari Process Explorer, posisi dari baris proses Notepad akan menjadi sama rata kiri dengan baris proses Explorer, meskipun dalam dialog properties proses Notepad informasi parent process-nya tetap menunjukkan nomor PID dari proses cmd.exe yang sudah tidak berjalan lagi.


Informasi mengenai nomor PID dan relasi antar proses berguna untuk mengetahui proses apa yang menjalankan suatu proses, sehingga pengetahuan tentang keduanya sangat penting dalam melakukan troubleshooting.

Tidak ada komentar:

Posting Komentar