Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menjejaki Masa Pelaksanaan Proses dengan Tepat dalam .NET?
Masa Jalan Proses Penjejakan dengan Teknik .NET yang Dipertingkat
Hanya menggunakan Process.GetProcessesByName
menawarkan hanya pandangan seketika proses aktif; ia tidak mencukupi untuk menjejaki tempoh pelaksanaan proses merentas berbilang kejadian. Penyelesaian yang lebih mantap diperlukan.
Memanfaatkan WMI untuk Pemantauan Proses yang Tepat
Instrumentasi Pengurusan Windows (WMI) menyediakan mekanisme yang berkuasa untuk pemantauan acara sistem terperinci, termasuk masa mula dan tamat proses yang tepat. Kod C# berikut menunjukkan aplikasi WMI untuk tujuan ini:
<code class="language-csharp">using System; using System.Management; public class ProcessMonitor { public static void Main(string[] args) { // Watch for process start events using (ManagementEventWatcher startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"))) { startWatch.EventArrived += StartWatch_EventArrived; startWatch.Start(); // Watch for process stop events using (ManagementEventWatcher stopWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace"))) { stopWatch.EventArrived += StopWatch_EventArrived; stopWatch.Start(); Console.WriteLine("Monitoring process starts and stops. Press any key to exit."); Console.ReadKey(); } } } private static void StopWatch_EventArrived(object sender, EventArrivedEventArgs e) { Console.WriteLine($"Process stopped: {e.NewEvent.Properties["ProcessName"].Value}"); } private static void StartWatch_EventArrived(object sender, EventArrivedEventArgs e) { Console.WriteLine($"Process started: {e.NewEvent.Properties["ProcessName"].Value}"); } }</code>
Melaksanakan kod ini dengan keistimewaan pentadbir membolehkan pemantauan masa nyata peristiwa kitaran hayat proses. Ini menyediakan pengukuran masa pelaksanaan yang sangat tepat untuk sebarang proses, merentasi pelbagai pelaksanaan. Perlu diingat bahawa pemantauan intensif mungkin memberi kesan kepada prestasi sistem.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjejaki Masa Pelaksanaan Proses dengan Tepat dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!