Get-Process

Mendapatkan proses yang berjalan di komputer lokal.

Sintaks

Get-Process
   [[-Name] <String[]>]
   [-Module]
   [-FileVersionInfo]
   [<CommonParameters>]
Get-Process
   [[-Name] <String[]>]
   -IncludeUserName
   [<CommonParameters>]
Get-Process
   -Id <Int32[]>
   [-Module]
   [-FileVersionInfo]
   [<CommonParameters>]
Get-Process
   -Id <Int32[]>
   -IncludeUserName
   [<CommonParameters>]
Get-Process
   -InputObject <Process[]>
   [-Module]
   [-FileVersionInfo]
   [<CommonParameters>]
Get-Process
   -InputObject <Process[]>
   -IncludeUserName
   [<CommonParameters>]

Deskripsi

Get-Process Cmdlet mendapatkan proses di komputer lokal.

Tanpa parameter, cmdlet ini mendapatkan semua proses di komputer lokal. Anda juga dapat menentukan proses tertentu berdasarkan nama proses atau ID proses (PID) atau meneruskan objek proses melalui alur ke cmdlet ini.

Secara default, cmdlet ini mengembalikan objek proses yang memiliki informasi terperinci tentang proses dan mendukung metode yang memungkinkan Anda memulai dan menghentikan proses. Anda juga dapat menggunakan parameter Get-Process cmdlet untuk mendapatkan informasi versi file untuk program yang berjalan dalam proses dan untuk mendapatkan modul yang dimuat proses.

Contoh

Contoh 1: Mendapatkan daftar semua proses aktif di komputer lokal

Get-Process

Perintah ini mendapatkan daftar semua proses aktif yang berjalan pada komputer lokal. Untuk definisi setiap kolom, lihat bagian Catatan .

Contoh 2: Mendapatkan semua data yang tersedia tentang satu atau beberapa proses

Get-Process winword, explorer | Format-List *

Perintah ini mendapatkan semua data yang tersedia tentang proses Winword dan Explorer di komputer. Ini menggunakan parameter Nama untuk menentukan proses, tetapi menghilangkan nama parameter opsional. Operator alur (|) meneruskan data ke Format-List cmdlet, yang menampilkan semua properti yang tersedia (*) dari objek proses Winword dan Explorer.

Anda juga dapat mengidentifikasi proses dengan ID prosesnya. Contohnya, Get-Process -Id 664, 2060.

Contoh 3: Mendapatkan semua proses dengan set kerja yang lebih besar dari ukuran yang ditentukan

Get-Process | Where-Object {$_.WorkingSet -gt 20000000}

Perintah ini mendapatkan semua proses yang memiliki set kerja yang lebih besar dari 20 MB. Ini menggunakan Get-Process cmdlet untuk mendapatkan semua proses yang sedang berjalan. Operator alur (|) meneruskan objek proses ke Where-Object cmdlet, yang hanya memilih objek dengan nilai lebih besar dari 20.000.000 byte untuk properti WorkingSet .

WorkingSet adalah salah satu dari banyak properti objek proses. Untuk melihat semua properti, ketik Get-Process | Get-Member. Secara default, nilai semua properti jumlah berada dalam byte, meskipun tampilan default mencantumkannya dalam kilobyte dan megabyte.

Contoh 4: Mencantumkan proses pada komputer dalam grup berdasarkan prioritas

$A = Get-Process
$A | Get-Process | Format-Table -View priority

Perintah ini mencantumkan proses di komputer dalam grup berdasarkan kelas prioritasnya. Perintah pertama mendapatkan semua proses di komputer dan kemudian menyimpannya dalam $A variabel.

Perintah kedua menyalurkan objek Proses yang disimpan dalam $A variabel ke Get-Process cmdlet, lalu ke Format-Table cmdlet, yang memformat proses dengan menggunakan tampilan Prioritas .

Tampilan Prioritas , dan tampilan lainnya, ditentukan dalam file format PS1XML di direktori beranda PowerShell ($pshome).

Contoh 5: Menambahkan properti ke tampilan output Get-Process standar

Get-Process pwsh | Format-Table `
    @{Label = "NPM(K)"; Expression = {[int]($_.NPM / 1024)}},
    @{Label = "PM(K)"; Expression = {[int]($_.PM / 1024)}},
    @{Label = "WS(K)"; Expression = {[int]($_.WS / 1024)}},
    @{Label = "VM(M)"; Expression = {[int]($_.VM / 1MB)}},
    @{Label = "CPU(s)"; Expression = {if ($_.CPU) {$_.CPU.ToString("N")}}},
    Id, ProcessName, StartTime -AutoSize

NPM(K)  PM(K)  WS(K)   VM(M) CPU(s)    Id ProcessName StartTime
------  -----  -----   ----- ------    -- ----------- ---------
   143 239540 259384 2366162 22.73  12720 pwsh        12/5/2022 3:21:51 PM
   114  61776 104588 2366127 11.45  18336 pwsh        12/5/2022 7:30:53 AM
   156  77924  82060 2366185 10.47  18812 pwsh        12/5/2022 7:30:52 AM
    85  48216 115192 2366074 1.14   24428 pwsh        12/8/2022 9:14:15 AM

Contoh ini mengambil proses dari komputer lokal. Proses yang diambil disalurkan ke Format-Table perintah yang menambahkan properti StartTime ke tampilan output standar Get-Process .

Contoh 6: Mendapatkan informasi versi untuk proses

Get-Process pwsh -FileVersionInfo

ProductVersion   FileVersion      FileName
--------------   -----------      --------
6.1.2            6.1.2            C:\Program Files\PowerShell\6\pwsh.exe

Perintah ini menggunakan parameter FileVersionInfo untuk mendapatkan informasi versi untuk pwsh.exe file yang merupakan modul utama untuk proses PowerShell.

Untuk menjalankan perintah ini dengan proses yang tidak Anda miliki di Windows Vista dan versi Windows yang lebih baru, Anda harus membuka PowerShell dengan opsi Jalankan sebagai administrator .

Contoh 7: Dapatkan modul yang dimuat dengan proses yang ditentukan

Get-Process SQL* -Module

Perintah ini menggunakan parameter Modul untuk mendapatkan modul yang telah dimuat oleh proses. Perintah ini mendapatkan modul untuk proses yang memiliki nama yang dimulai dengan SQL.

Untuk menjalankan perintah ini pada Windows Vista dan versi Windows yang lebih baru dengan proses yang tidak Anda miliki, Anda harus memulai PowerShell dengan opsi Jalankan sebagai administrator .

Contoh 8: Temukan pemilik proses

Get-Process pwsh -IncludeUserName

Handles      WS(K)   CPU(s)     Id UserName            ProcessName
-------      -----   ------     -- --------            -----------
    782     132080     2.08   2188 DOMAIN01\user01     pwsh

Perintah ini menunjukkan cara menemukan pemilik proses. Di Windows, parameter IncludeUserName memerlukan hak pengguna yang ditinggikan (Jalankan sebagai Administrator). Output mengungkapkan bahwa pemiliknya adalah Domain01\user01.

Contoh 9: Gunakan variabel otomatis untuk mengidentifikasi proses yang menghosting sesi saat ini

Get-Process pwsh

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
------    -----      -----     ------      --  -- -----------
    83    96.21     105.95       4.33    1192  10 pwsh
    79    83.81     117.61       2.16   10580  10 pwsh

Get-Process -Id $PID

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
------    -----      -----     ------      --  -- -----------
    83    96.21      77.53       4.39    1192  10 pwsh

Perintah ini menunjukkan cara menggunakan $PID variabel otomatis untuk mengidentifikasi proses yang menghosting sesi PowerShell saat ini. Anda dapat menggunakan metode ini untuk membedakan proses host dari proses PowerShell lain yang mungkin ingin Anda hentikan atau tutup.

Perintah pertama mendapatkan semua proses PowerShell dalam sesi saat ini.

Perintah kedua mendapatkan proses PowerShell yang menghosting sesi saat ini.

Contoh 10: Mendapatkan semua proses yang memiliki judul jendela utama dan menampilkannya dalam tabel

Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize

Perintah ini mendapatkan semua proses yang memiliki judul jendela utama, dan menampilkannya dalam tabel dengan ID proses dan nama proses.

Properti mainWindowTitle hanyalah salah satu dari banyak properti berguna dari objek Proses yang Get-Process dikembalikan. Untuk melihat semua properti, pipa hasil Get-Process perintah ke Get-Member cmdlet Get-Process | Get-Member.

Parameter

-FileVersionInfo

Menunjukkan bahwa cmdlet ini mendapatkan informasi versi file untuk program yang berjalan dalam proses.

Pada Windows Vista dan versi Windows yang lebih baru, Anda harus membuka PowerShell dengan opsi Jalankan sebagai administrator untuk menggunakan parameter ini pada proses yang tidak Anda miliki.

Menggunakan parameter ini setara dengan mendapatkan properti MainModule.FileVersionInfo dari setiap objek proses. Saat Anda menggunakan parameter ini, Get-Process mengembalikan objek FileVersionInfo System.Diagnostics.FileVersionInfo, bukan objek proses. Jadi, Anda tidak dapat menyalurkan output perintah ke cmdlet yang mengharapkan objek proses, seperti Stop-Process.

Type:SwitchParameter
Aliases:FV, FVI
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Menentukan satu atau beberapa proses berdasarkan ID proses (PID). Untuk menentukan beberapa ID, gunakan koma untuk memisahkan ID. Untuk menemukan PID proses, ketik Get-Process.

Type:Int32[]
Aliases:PID
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IncludeUserName

Menunjukkan bahwa nilai UserName dari objek Proses dikembalikan dengan hasil perintah .

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Menentukan satu atau beberapa objek proses. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Module

Menunjukkan bahwa cmdlet ini mendapatkan modul yang telah dimuat oleh proses.

Pada Windows Vista dan versi Windows yang lebih baru, Anda harus membuka PowerShell dengan opsi Jalankan sebagai administrator untuk menggunakan parameter ini pada proses yang tidak Anda miliki.

Parameter ini setara dengan mendapatkan properti Modul dari setiap objek proses. Saat Anda menggunakan parameter ini, cmdlet ini mengembalikan objek ProcessModule System.Diagnostics.ProcessModule, bukan objek proses. Jadi, Anda tidak dapat menyalurkan output perintah ke cmdlet yang mengharapkan objek proses, seperti Stop-Process.

Saat Anda menggunakan parameter Modul danFileVersionInfo dalam perintah yang sama, cmdlet ini mengembalikan objek FileVersionInfo dengan informasi tentang versi file semua modul.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Menentukan satu atau beberapa proses berdasarkan nama proses. Anda dapat mengetik beberapa nama proses (dipisahkan oleh koma) dan menggunakan karakter kartubebas. Nama parameter (Name) bersifat opsional.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Input

Process

Anda dapat menyalurkan objek proses ke cmdlet ini.

Output

Process

Secara default, cmdlet ini mengembalikan objek System.Diagnostics.Process .

FileVersionInfo

Jika Anda menggunakan parameter FileVersionInfo , cmdlet ini mengembalikan objek FileVersionInfo .

ProcessModule

Jika Anda menggunakan parameter Modul, tanpa parameter FileVersionInfo, cmdlet ini mengembalikan objek ProcessModule.

Catatan

PowerShell menyertakan alias berikut untuk Get-Process:

  • Semua platform:
    • gps
  • Windows:
    • ps

Pada komputer yang menjalankan Windows versi 64-bit, PowerShell versi 64-bit hanya mendapatkan modul proses 64-bit dan PowerShell versi 32-bit hanya mendapatkan modul proses 32-bit.

Untuk mendapatkan informasi proses dari komputer jarak jauh, gunakan Invoke-Command cmdlet . Untuk informasi selengkapnya, lihat Invoke-Command.

Anda dapat menggunakan properti dan metode objek Win32_Process Windows Management Instrumentation (WMI) di PowerShell. Untuk informasi selengkapnya, lihat Win32_Process.

Tampilan default proses adalah tabel yang menyertakan kolom berikut. Untuk deskripsi semua properti objek proses, lihat Properti Proses.

  • Handel: Jumlah handel yang telah dibuka proses.
  • NPM(K): Jumlah memori non-halaman yang digunakan proses, dalam kilobyte.
  • PM(K): Jumlah memori yang dapat di-pageable yang digunakan proses, dalam kilobyte.
  • WS(K): Ukuran set kerja proses, dalam kilobyte. Set kerja terdiri dari halaman memori yang baru-baru ini dirujuk oleh proses.
  • VM(M): Jumlah memori virtual yang digunakan proses, dalam megabyte. Memori virtual mencakup penyimpanan dalam file halaman pada disk.
  • CPU: Jumlah waktu prosesor yang telah digunakan prosesor pada semua prosesor, dalam hitungan detik.
  • ID: ID proses (PID) proses.
  • ProcessName: Nama proses. Untuk penjelasan tentang konsep yang terkait dengan proses, lihat Glosarium di Pusat Bantuan dan Dukungan dan Bantuan untuk Task Manager.

Anda juga dapat menggunakan tampilan alternatif bawaan dari proses yang tersedia dengan Format-Table, seperti StartTime dan Priority, dan Anda dapat merancang tampilan Anda sendiri.