kelas Win32_Process

Kelas WMI Win32_Processmewakili proses pada sistem operasi.

Sintaks berikut disederhanakan dari kode Managed Object Format (MOF) dan menyertakan semua properti yang diwariskan.

Catatan

Untuk diskusi umum tentang Proses dan Utas dalam Windows, silakan lihat topik Proses dan Utas.

Sintaks

[Dynamic, Provider("CIMWin32"), SupportsCreate, CreateBy("Create"), SupportsDelete, DeleteBy("DeleteInstance"), UUID("{8502C4DC-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Processes"), AMENDMENT]
class Win32_Process : CIM_Process
{
  string   CreationClassName;
  string   Caption;
  string   CommandLine;
  datetime CreationDate;
  string   CSCreationClassName;
  string   CSName;
  string   Description;
  string   ExecutablePath;
  uint16   ExecutionState;
  string   Handle;
  uint32   HandleCount;
  datetime InstallDate;
  uint64   KernelModeTime;
  uint32   MaximumWorkingSetSize;
  uint32   MinimumWorkingSetSize;
  string   Name;
  string   OSCreationClassName;
  string   OSName;
  uint64   OtherOperationCount;
  uint64   OtherTransferCount;
  uint32   PageFaults;
  uint32   PageFileUsage;
  uint32   ParentProcessId;
  uint32   PeakPageFileUsage;
  uint64   PeakVirtualSize;
  uint32   PeakWorkingSetSize;
  uint32   Priority;
  uint64   PrivatePageCount;
  uint32   ProcessId;
  uint32   QuotaNonPagedPoolUsage;
  uint32   QuotaPagedPoolUsage;
  uint32   QuotaPeakNonPagedPoolUsage;
  uint32   QuotaPeakPagedPoolUsage;
  uint64   ReadOperationCount;
  uint64   ReadTransferCount;
  uint32   SessionId;
  string   Status;
  datetime TerminationDate;
  uint32   ThreadCount;
  uint64   UserModeTime;
  uint64   VirtualSize;
  string   WindowsVersion;
  uint64   WorkingSetSize;
  uint64   WriteOperationCount;
  uint64   WriteTransferCount;
};

Anggota

Kelas Win32_Process memiliki jenis anggota ini:

Metode

Kelas Win32_Process memiliki metode ini.

Metode Deskripsi
LampirkanDebugger Meluncurkan debugger yang saat ini terdaftar untuk proses.
Buat Membuat proses baru.
GetAvailableVirtualSize Mengambil ukuran saat ini, dalam byte, dari ruang alamat virtual gratis yang tersedia untuk proses.
Windows Server 2012, Windows 8, Windows 7, Windows Server 2008 dan Windows Vista: Metode ini tidak didukung sebelum Windows 8.1 dan Windows Server 2012 R2.
GetOwner Mengambil nama pengguna dan nama domain tempat proses berjalan.
GetOwnerSid Mengambil pengidentifikasi keamanan (SID) untuk pemilik proses.
SetPriority Mengubah prioritas eksekusi proses.
Mengakhiri Mengakhiri proses dan semua utasnya.

 

Properti

Kelas Win32_Process memiliki properti ini.

Caption

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: MaxLen (64), DisplayName ("Keterangan")

Deskripsi singkat objek—string satu baris.

Properti ini diwariskan dari CIM_ManagedSystemElement.

Commandline

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: DisplayName ("Baris Perintah untuk Memulai Proses")

Baris perintah yang digunakan untuk memulai proses tertentu, jika berlaku.

CreationClassName

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: CIM_Key, MaxLen (256), DisplayName ("Nama Kelas")

Nama kelas atau subkelas yang digunakan dalam pembuatan instans. Ketika digunakan dengan properti kunci kelas lainnya, properti ini memungkinkan semua instans kelas dan subkelasnya diidentifikasi secara unik.

Properti ini diwariskan dari CIM_Process.

CreationDate

Jenis data: tanggalwaktu

Jenis akses: Baca-saja

Kualifikasi: Tetap, DisplayName ("CreationDate")

Tanggal proses mulai dijalankan.

Properti ini diwariskan dari CIM_Process.

CSCreationClassName

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Disebarluaskan ("CIM_OperatingSystem.CSCreationClassName"), CIM_Key, MaxLen (256), DisplayName ("Nama Kelas Sistem Komputer")

Nama kelas pembuatan sistem komputer cakupan.

Properti ini diwariskan dari CIM_Process.

CSName

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Disebarluaskan ("CIM_OperatingSystem.CSName"), CIM_Key, MaxLen (256), DisplayName ("Nama Sistem Komputer")

Nama sistem komputer cakupan.

Properti ini diwariskan dari CIM_Process.

Keterangan

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: DisplayName ("Description")

Deskripsi objek.

Properti ini diwariskan dari CIM_ManagedSystemElement.

ExecutablePath

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Hak Istimewa ("SeDebugPrivilege"), MappingStrings ("Win32API|Struktur Bantuan Alat|MODULEENTRY32|szExePath"), DisplayName ("Jalur yang Dapat Dieksekusi")

Jalur ke file proses yang dapat dieksekusi.

Contoh: "C:\Windows\System\Explorer.Exe"

ExecutionState

Jenis data: uint16

Jenis akses: Baca-saja

Kualifikasi: DisplayName ("Status Eksekusi")

Kondisi operasi proses saat ini.

Properti ini diwariskan dari CIM_Process.

Tidak diketahui (0)

Tidak dikenal

Lainnya (1)

Lainnya

Siap (2)

Berjalan (3)

Diblokir (4)

Terblokir

Ditangguhkan Diblokir (5)

Siap Ditangguhkan (6)

Dihentikan (7)

Dihentikan (8)

Tumbuh (9)

Handel

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Kunci, MaxLen (256), DisplayName ("Handle")

Pengidentifikasi proses.

Properti ini diwariskan dari CIM_Process.

HandleCount

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|HandleCount"), DisplayName ("Handle Count")

Jumlah total handel terbuka yang dimiliki oleh proses. HandleCount adalah jumlah handel yang saat ini dibuka oleh setiap utas dalam proses ini. Handel digunakan untuk memeriksa atau memodifikasi sumber daya sistem. Setiap handel memiliki entri dalam tabel yang dipertahankan secara internal. Entri berisi alamat sumber daya dan data untuk mengidentifikasi jenis sumber daya.

InstallDate

Jenis data: tanggalwaktu

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("MIF. DMTF|ComponentID|001.5"), DisplayName ("Tanggal Penginstalan")

Tanggal objek diinstal. Objek mungkin diinstal tanpa nilai yang ditulis ke properti ini.

Properti ini diwariskan dari CIM_ManagedSystemElement.

KernelModeTime

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: Mengambil alih ("KernelModeTime"), Unit ("100 nanodetik")

Waktu dalam mode kernel, dalam milidetik. Jika informasi ini tidak tersedia, gunakan nilai 0 (nol).

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

MaximumWorkingSetSize

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: Hak Istimewa ("SeDebugPrivilege"), MappingStrings ("Win32|WINNT. H|QUOTA_LIMITS|MaximumWorkingSetSize"), DisplayName ("Ukuran Set Kerja Maksimum"), Unit ("kilobyte")

Ukuran set kerja maksimum proses. Rangkaian proses yang berfungsi adalah kumpulan halaman memori yang terlihat oleh proses dalam RAM fisik. Halaman ini adalah residen, dan tersedia untuk digunakan aplikasi tanpa memicu kesalahan halaman.

Contoh: 1413120

MinimumWorkingSetSize

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: Hak Istimewa ("SeDebugPrivilege"), MappingStrings ("Win32|WINNT. H|QUOTA_LIMITS|MinimumWorkingSetSize"), DisplayName ("Ukuran Set Kerja Minimum"), Unit ("kilobyte")

Ukuran set kerja minimum proses. Rangkaian proses yang berfungsi adalah kumpulan halaman memori yang terlihat oleh proses dalam RAM fisik. Halaman-halaman ini adalah residen dan tersedia untuk digunakan aplikasi tanpa memicu kesalahan halaman.

Contoh: 20480

Nama

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: DisplayName ("Nama")

Nama file yang dapat dieksekusi yang bertanggung jawab atas proses, setara dengan properti Nama Gambar di Task Manager.

Ketika diwariskan oleh subkelas, properti dapat ditimpa menjadi properti kunci. Nama ini dikodekan secara permanen ke dalam aplikasi itu sendiri dan tidak terpengaruh dengan mengubah nama file. Misalnya, bahkan jika Anda mengganti nama Calc.exe, nama Calc.exe akan tetap muncul di Task Manager dan dalam skrip WMI apa pun yang mengambil nama proses.

Properti ini diwariskan dari CIM_ManagedSystemElement.

OSCreationClassName

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Disebarluaskan ("CIM_OperatingSystem.CreationClassName"), CIM_Key, MaxLen (256), DisplayName ("Nama Kelas Sistem Operasi")

Nama kelas pembuatan sistem operasi cakupan.

Properti ini diwariskan dari CIM_Process.

OSName

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Disebarluaskan ("CIM_OperatingSystem.Nama"), CIM_Key, MaxLen (256), DisplayName ("Nama Sistem Operasi")

Nama sistem operasi cakupan.

Properti ini diwariskan dari CIM_Process.

OtherOperationCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|SYSTEM_PROCESS_INFORMATION|OtherOperationCount"), DisplayName ("Jumlah Operasi Lainnya")

Jumlah operasi I/O yang dilakukan yang bukan operasi baca atau tulis.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

OtherTransferCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|SYSTEM_PROCESS_INFORMATION|OtherTransferCount"), DisplayName ("Jumlah Transfer Lainnya"), Unit ("byte")

Jumlah data yang ditransfer selama operasi yang tidak operasi baca atau tulis.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

PageFaults

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|PageFaultCount"), DisplayName ("Jumlah Kesalahan Halaman")

Jumlah kesalahan halaman yang dihasilkan proses.

Contoh: 10

PageFileUsage

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|PagefileUsage"), DisplayName ("Penggunaan File Halaman"), Unit ("kilobyte")

Jumlah ruang file halaman yang digunakan proses saat ini. Nilai ini konsisten dengan nilai VMSize di TaskMgr.exe.

Contoh: 102435

ParentProcessId

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|InheritedFromUniqueProcessId"), DisplayName ("Id Proses Induk")

Pengidentifikasi unik proses yang membuat proses. Nomor pengidentifikasi proses digunakan kembali, sehingga hanya mengidentifikasi proses selama masa pakai proses tersebut. Ada kemungkinan bahwa proses yang diidentifikasi oleh ParentProcessId dihentikan, sehingga ParentProcessId mungkin tidak merujuk ke proses yang sedang berjalan. Ada kemungkinan juga bahwa ParentProcessId salah mengacu pada proses yang menggunakan kembali pengidentifikasi proses. Anda dapat menggunakan properti CreationDate untuk menentukan apakah induk yang ditentukan dibuat setelah proses yang diwakili oleh instans Win32_Process ini dibuat.

PeakPageFileUsage

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|PeakPagefileUsage"), DisplayName ("Penggunaan File Halaman Puncak"), Unit ("kilobyte")

Jumlah maksimum ruang file halaman yang digunakan selama masa pakai proses.

Contoh: 102367

PeakVirtualSize

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|PeakVirtualSize"), DisplayName ("Peak Virual Address Space Usage"), Unit ( "byte")

Ruang alamat virtual maksimum yang digunakan proses kapan saja. Menggunakan ruang alamat virtual tidak selalu menyiratkan penggunaan disk atau halaman memori utama yang sesuai. Namun, ruang virtual terbatas, dan dengan menggunakan terlalu banyak proses mungkin tidak dapat memuat pustaka.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

PeakWorkingSetSize

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|PeakWorkingSetSize"), DisplayName ("Ukuran Set Kerja Puncak"), Unit ("kilobyte")

Ukuran set kerja puncak proses.

Contoh: 1413120

Prioritas

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: Mengambil alih ("Prioritas"), MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|BasePriority"), DisplayName ("Priority")

Menjadwalkan prioritas proses dalam sistem operasi. Semakin tinggi nilainya, semakin tinggi prioritas yang diterima proses. Nilai prioritas dapat berkisar dari 0 (nol), yang merupakan prioritas terendah hingga 31, yang merupakan prioritas tertinggi.

Contoh 7:

PrivatePageCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|PrivatePageCount"), DisplayName ("Jumlah Halaman Privat")

Jumlah halaman saat ini yang dialokasikan yang hanya dapat diakses oleh proses yang diwakili oleh instans Win32_Process ini.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

ProcessId

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|PROCESS_INFORMATION|dwProcessId "), DisplayName ("Id Proses")

Pengidentifikasi numerik yang digunakan untuk membedakan satu proses dari proses lainnya. ProcessID berlaku dari waktu pembuatan proses hingga penghentian proses. Setelah penghentian, pengidentifikasi numerik yang sama dapat diterapkan ke proses baru.

Ini berarti Anda tidak dapat menggunakan ProcessID saja untuk memantau proses tertentu. Misalnya, aplikasi dapat memiliki ProcessID 7, lalu gagal. Ketika proses baru dimulai, proses baru dapat ditetapkan ProcessID 7. Skrip yang hanya memeriksa ProcessID tertentu dengan demikian dapat "ditipu" agar berpikir bahwa aplikasi asli masih berjalan.

QuotaNonPagedPoolUsage

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|QuotaNonPagedPoolUsage"), DisplayName ("Kuota Penggunaan Kumpulan Non-Halaman")

Jumlah kuota penggunaan kumpulan yang tidak disebarkan untuk suatu proses.

Contoh: 15

QuotaPagedPoolUsage

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|QuotaPagedPoolUsage"), DisplayName ("Kuota Penggunaan Kumpulan Halaman")

Jumlah kuota penggunaan kumpulan halaman untuk proses.

Contoh: 22

QuotaPeakNonPagedPoolUsage

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|QuotaPeakNonPagedPoolUsage"), DisplayName ("Kuota Penggunaan Kumpulan Non-Halaman Puncak")

Jumlah kuota puncak penggunaan kumpulan yang tidak disebarkan untuk sebuah proses.

Contoh: 31

QuotaPeakPagedPoolUsage

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|QuotaPeakPagedPoolUsage"), DisplayName ("Kuota Penggunaan Kumpulan Halaman Puncak")

Jumlah kuota puncak penggunaan kumpulan halaman untuk proses.

Contoh: 31

ReadOperationCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|SYSTEM_PROCESS_INFORMATION|ReadOperationCount"), DisplayName ("Read Operation Count")

Jumlah operasi baca yang dilakukan.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

ReadTransferCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|SYSTEM_PROCESS_INFORMATION|ReadTransferCount"), DisplayName ("Read Transfer Count"), Unit ("byte")

Jumlah data yang dibaca.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

SessionId

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|SessionId"), DisplayName ("Id Sesi")

Pengidentifikasi unik yang dihasilkan sistem operasi saat sesi dibuat. Sesi mencakup periode waktu dari masuk hingga keluar dari sistem tertentu.

Keadaan

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: MaxLen (10), DisplayName ("Status")

Properti ini tidak diimplementasikan dan tidak diisi untuk instans apa pun dari kelas ini. Selalu NULL.

Properti ini diwariskan dari CIM_ManagedSystemElement.

Nilai mencakup yang berikut:

OK ("OK")

Kesalahan ("Kesalahan")

Terdegradasi ("Terdegradasi")

Tidak diketahui ("Tidak Diketahui")

Pred Fail ("Pred Fail")

Memulai ("Memulai")

Menghentikan ("Berhenti")

Layanan ("Layanan")

Stres ("Stres")

NonRecover ("NonRecover")

Tidak Ada Kontak ("Tidak Ada Kontak")

Comm Hilang ("Hilang Comm")

PenghentianDate

Jenis data: tanggalwaktu

Jenis akses: Baca-saja

Kualifikasi: DisplayName ("Tanggal Penghentian")

Proses dihentikan atau dihentikan. Untuk mendapatkan waktu penghentian, handel untuk proses harus dipegang terbuka. Jika tidak, properti ini mengembalikan NULL.

Properti ini diwariskan dari CIM_Process.

ThreadCount

Jenis data: uint32

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|NumberOfThreads"), DisplayName ("Jumlah Utas")

Jumlah utas aktif dalam proses. Instruksi adalah unit dasar eksekusi dalam prosesor, dan utas adalah objek yang menjalankan instruksi. Setiap proses yang berjalan memiliki setidaknya satu utas.

UserModeTime

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: Mengambil alih ("UserModeTime"), Unit ("100 nanodetik")

Waktu dalam mode pengguna, dalam 100 unit nanodetik. Jika informasi ini tidak tersedia, gunakan nilai 0 (nol).

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

VirtualSize

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Status Proses|SYSTEM_PROCESS_INFORMATION|VirtualSize"), DisplayName ("Penggunaan Ruang Alamat Virtual"), Unit ("byte")

Ukuran ruang alamat virtual saat ini yang digunakan proses, bukan memori fisik atau virtual yang benar-benar digunakan oleh proses. Menggunakan ruang alamat virtual tidak selalu menyiratkan penggunaan disk atau halaman memori utama yang sesuai. Ruang virtual terbatas, dan dengan menggunakan terlalu banyak, prosesnya mungkin tidak dapat memuat pustaka. Nilai ini konsisten dengan apa yang Anda lihat di Perfmon.exe.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

WindowsVersion

Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Fungsi Proses dan Utas|GetProcessVersion"), DisplayName ("Versi Windows")

Versi Windows tempat proses berjalan.

Contoh: 4.0

WorkingSetSize

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: DisplayName ("Ukuran Set Kerja"), Unit ("byte")

Jumlah memori dalam byte yang perlu dijalankan proses secara efisien—untuk sistem operasi yang menggunakan manajemen memori berbasis halaman. Jika sistem tidak memiliki cukup memori (kurang dari ukuran set kerja), pembatasan terjadi. Jika ukuran set kerja tidak diketahui, gunakan NULL atau 0 (nol). Jika data set kerja disediakan, Anda dapat memantau informasi untuk memahami persyaratan memori proses yang berubah.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

Properti ini diwariskan dari CIM_Process.

WriteOperationCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|SYSTEM_PROCESS_INFORMATION|WriteOperationCount"), DisplayName ("Write Operation Count")

Jumlah operasi tulis yang dilakukan.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

WriteTransferCount

Jenis data: uint64

Jenis akses: Baca-saja

Kualifikasi: MappingStrings ("Win32API|Struktur Proses dan Utas|SYSTEM_PROCESS_INFORMATION|WriteTransferCount"), DisplayName ("Write Transfer Count"), Unit ("byte")

Jumlah data yang ditulis.

Untuk informasi selengkapnya tentang menggunakan nilai uint64 dalam skrip, lihat Pembuatan Skrip di WMI.

Keterangan

Kelas Win32_Process berasal dari CIM_Process. Proses panggilan yang menggunakan kelas ini harus memiliki hak istimewa SE_RESTORE_NAME pada komputer tempat registri berada. Untuk informasi selengkapnya, lihat Menjalankan Operasi Istimewa.

Gambaran Umum

Proses mendasar hampir semua yang terjadi di komputer. Bahkan, akar penyebab sebagian besar masalah komputer dapat ditelusuri ke proses; misalnya, terlalu banyak proses yang mungkin berjalan di komputer (dan bersaing untuk sekumpulan sumber daya terbatas), atau satu proses mungkin menggunakan lebih dari berbagi sumber dayanya. Faktor-faktor ini membuatnya penting untuk mengawasi proses yang berjalan di komputer. Pemantauan proses, aktivitas utama dalam manajemen proses, memungkinkan Anda menentukan apa yang sebenarnya dilakukan komputer, aplikasi apa yang dijalankan komputer, dan bagaimana aplikasi tersebut dipengaruhi oleh perubahan di lingkungan komputasi.

Memantau Proses

Proses pemantauan secara teratur membantu Anda memastikan bahwa komputer berjalan pada efisiensi puncak dan menjalankan tugas yang ditunjuk seperti yang diharapkan. Misalnya, dengan memantau proses, Anda dapat segera diberi tahu tentang aplikasi apa pun yang telah berhenti merespons, lalu mengambil langkah-langkah untuk mengakhiri proses tersebut. Selain itu, pemantauan proses memungkinkan Anda mengidentifikasi masalah sebelum terjadi. Misalnya, dengan berulang kali memeriksa jumlah memori yang digunakan oleh proses, Anda dapat mengidentifikasi kebocoran memori. Anda kemudian dapat menghentikan proses sebelum aplikasi yang salah menggunakan semua memori yang tersedia dan membuat komputer berhenti.

Pemantauan proses juga membantu meminimalkan gangguan yang disebabkan oleh pemadaman yang direncanakan untuk peningkatan dan pemeliharaan. Misalnya, dengan memeriksa status aplikasi database yang berjalan di komputer klien, Anda dapat menentukan dampak mengambil database offline untuk meningkatkan perangkat lunak.

Memantau ketersediaan proses. Mengukur persentase waktu proses tersedia. Ketersediaan biasanya dipantau dengan menggunakan pemeriksaan sederhana, yang melaporkan apakah proses masih berjalan. Dengan melacak hasil setiap pemeriksaan, Anda dapat menghitung ketersediaan proses. Misalnya, proses yang diperiksa 100 kali dan merespons pada 95 kesempatan tersebut memiliki ketersediaan 95 persen. Jenis pemantauan ini biasanya dicadangkan untuk database, program email, dan aplikasi lain yang diharapkan berjalan setiap saat. Tidak sesuai untuk program pemrosesan kata, spreadsheet, atau aplikasi lain yang secara rutin dimulai dan dihentikan beberapa kali sehari.

Anda dapat membuat instans kelas Win32_ProcessStartup untuk mengonfigurasi proses.

Anda dapat memantau performa proses dengan kelas Win32_PerfFormattedData_PerfProc_Process dan objek penyegaran WMI, seperti SWbemRefresher. Untuk informasi selengkapnya, lihat Memantau Data Performa.

Contoh

Dalam contoh: Memanggil topik Metode Penyedia, kode menggunakan C++ untuk memanggil Win32_Process untuk membuat proses.

Ketersediaan adalah bentuk pemantauan proses paling sederhana: dengan pendekatan ini, Anda hanya memastikan bahwa proses berjalan. Saat memantau ketersediaan proses, Anda biasanya mengambil daftar proses yang berjalan di komputer lalu memverifikasi bahwa proses tertentu masih aktif. Jika proses aktif, proses tersebut dianggap tersedia. Jika proses tidak aktif, proses tersebut tidak tersedia. Sampel VBScript berikut memantau ketersediaan proses dengan memeriksa daftar proses yang berjalan di komputer dan mengeluarkan pemberitahuan jika proses Database.exe tidak ditemukan.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Database.exe'")
If colProcesses.Count = 0 Then
 Wscript.Echo "Database.exe is not running."
Else
 Wscript.Echo "Database.exe is running."
End If

Sampel VBScript berikut memantau pembuatan proses menggunakan konsumen peristiwa sementara.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent " _
                                                     & "WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
i = 0
Do While i = 0
 Set objLatestProcess = colMonitoredProcesses.NextEvent
 Wscript.Echo objLatestProcess.TargetInstance.Name, Now
Loop

VBScript berikut memantau informasi performa proses.

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcessList
 Wscript.Echo "Process: " & objProcess.Name
 Wscript.Echo "Process ID: " & objProcess.ProcessID
 Wscript.Echo "Thread Count: " & objProcess.ThreadCount
 Wscript.Echo "Page File Size: " & objProcess.PageFileUsage
 Wscript.Echo "Page Faults: " & objProcess.PageFaults
 Wscript.Echo "Working Set Size: " & objProcess.WorkingSetSize
Next

Contoh kode VBScript berikut menunjukkan cara mendapatkan pemilik setiap proses di komputer lokal. Anda dapat menggunakan skrip ini untuk mendapatkan data dari komputer jarak jauh, misalnya, untuk menentukan pengguna mana yang memiliki proses yang menjalankan server terminal, mengganti nama komputer jarak jauh untuk "." di baris pertama. Anda juga harus menjadi administrator pada komputer jarak jauh.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery("select * from win32_process" )
For Each objProcess in colProcesses

  If objProcess.GetOwner ( User, Domain ) = 0 Then
    Wscript.Echo "Process " & objProcess.Caption & " belongs to " & Domain & "\" & User
  Else
    Wscript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
  End If
Next

Contoh kode VBScript berikut menunjukkan cara mendapatkan sesi masuk yang terkait dengan proses yang sedang berjalan. Proses harus menjalankan Notepad.exe sebelum skrip dimulai. Contoh menemukan instans Win32_LogonSession yang terkait dengan Win32_Process yang mewakili Notepad.exe. Win32_SessionProcess ditentukan sebagai kelas asosiasi. Untuk informasi selengkapnya, lihat ASSOCIATORS OF Statement..

On error resume next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
  ProcessId = objProcess.ProcessId
  Set colLogonSessions = objWMIService.ExecQuery("Associators of {Win32_Process='" & ProcessId & "'} " _
                                               & "Where Resultclass = Win32_LogonSession Assocclass = Win32_SessionProcess", "WQL", 48)
  If Err <> 0 Then
    WScript.Echo "Error on associators query= " & Err.number & " " & Err.Description
    WScript.Quit
  End If
  For Each LogonSession in colLogonSessions
    Wscript.Echo " Logon id is " & LogonSession.LogonId
  Next
Next

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista
Server minimum yang didukung
Windows Server 2008
Ruang nama
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Baca juga

CIM_Process

Kelas Sistem Operasi

Tugas WMI: Proses