Apakah Windows 7 menggunakan kembali ID proses?
Alasan saya mengajukan pertanyaan ini adalah karena pengalaman saya bahwa Windows XP dan Linux tampaknya tidak pernah menghasilkan ID proses yang lebih tinggi dari 20-30k. Namun, mesin Windows 7 saya akan mencapai ID setinggi 5 - 10 ribu atau lebih dalam beberapa jam setelah reboot, yang merupakan pengalaman normal saya dari masa lalu. Pagi berikutnya saya memeriksa dan beberapa proses 250k atau lebih tinggi, yang tidak.
Saya mengaktifkan fitur audit keamanan untuk mencatat pembuatan dan penghentian proses. Tidak ada yang menghasilkan ratusan atau ribuan atau proses. Hanya 513 dari peristiwa ini yang terdaftar untuk periode 24 jam, namun ratusan ribu ID proses telah digunakan, tampaknya.
Saya mencoba mencari pertanyaan saya dan salah satu pertanyaan yang disarankan yang diajukan sebelumnya menunjuk ke blog Mark Russinovich yang luar biasa . Tapi artikel ini, walaupun bacaannya sangat menarik, membuat saya bingung.
sumber
Jawaban:
Dari pengujian saya tampaknya Anda memiliki satu asumsi salah, nomor PID tidak diberikan secara berurutan. Ini sangat mudah dibuktikan, lakukan perintah berikut dari baris perintah. Seharusnya membuka 3 salinan notepad.
Di mesin saya di sini adalah PID's dari 3 salinan yang semuanya dibuka pada waktu yang sama.
Seperti Anda dapat melihat banyak PID melompat-lompat, Jika Anda membukanya satu per satu, Anda juga akan melihat bahwa PID berikutnya tidak selalu lebih besar dari yang sebelumnya. Misalnya saya membuka salinan notepad ke-4 dan mendapatkan ini
Jadi tampaknya Windows 7 hanya akan memilih PID acak yang tidak digunakan setiap kali memulai proses, sehingga sangat baik jika PID digunakan kembali selama menjalankan windows tanpa reboot.
Saya menulis skrip PowerShell sederhana (memerlukan v2 atau yang lebih baru, lihat jawaban ini edit riwayat untuk versi C #) untuk membuktikannya pasti
Menjalankan program 10 kali selalu antara
134
dan147
meluncurkan notepad untuk PID yang sama untuk digunakan kembali (Mengapa angka ini sangat kecil? Masalah Gadget Ulang Tahun GO-GO !)sumber
Saya menjalankan tes selama satu jam dan pada saat itu 302 proses keluar. Dari mereka, 70 memiliki PID yang sama, jadi saya akan mengatakan PID sering digunakan kembali.
sumber