Stop-Process
Menghentikan satu atau beberapa proses yang sedang berjalan.
Sintaks
Stop-Process
[-Id] <Int32[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Process
-Name <String[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Process
[-InputObject] <Process[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Stop-Process
Cmdlet menghentikan satu atau beberapa proses yang sedang berjalan. Anda dapat menentukan proses berdasarkan nama proses atau ID proses (PID), atau meneruskan objek proses ke Stop-Process
. Stop-Process
hanya berfungsi pada proses yang berjalan di komputer lokal.
Pada Windows Vista dan versi sistem operasi Windows yang lebih baru, untuk menghentikan proses yang tidak dimiliki oleh pengguna saat ini, Anda harus memulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator. Selain itu , Anda tidak dimintai konfirmasi kecuali Anda menentukan parameter Konfirmasi .
Contoh
Contoh 1: Menghentikan semua instans proses
PS C:\> Stop-Process -Name "notepad"
Perintah ini menghentikan semua instans proses Notepad di komputer. Setiap instans Notepad berjalan dalam prosesnya sendiri. Ini menggunakan parameter Nama untuk menentukan proses, yang semuanya memiliki nama yang sama. Jika Anda menggunakan parameter Id untuk menghentikan proses yang sama, Anda harus mencantumkan ID proses dari setiap instans Notepad.
Contoh 2: Menghentikan instans tertentu dari proses
PS C:\> Stop-Process -Id 3952 -Confirm -PassThru
Confirm
Are you sure you want to perform this action?
Performing operation "Stop-Process" on Target "notepad (3952)".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):y
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
41 2 996 3212 31 3952 notepad
Perintah ini menghentikan instans tertentu dari proses Notepad. Ini menggunakan ID proses, 3952, untuk mengidentifikasi proses. Parameter Konfirmasi mengarahkan PowerShell untuk meminta Anda sebelum menghentikan proses. Karena prompt menyertakan nama proses sebagai tambahan untuk ID-nya, ini adalah praktik terbaik.
Parameter PassThru meneruskan objek proses ke pemformat untuk ditampilkan. Tanpa parameter ini, tidak akan ada tampilan setelah perintah Stop-Process
.
Contoh 3: Hentikan proses dan deteksi bahwa proses telah berhenti
calc
$p = Get-Process -Name "calc"
Stop-Process -InputObject $p
Get-Process | Where-Object {$_.HasExited}
Rangkaian perintah ini memulai dan menghentikan Calc
proses, lalu mendeteksi proses yang telah berhenti.
Perintah pertama memulai instans kalkulator.
Perintah kedua menggunakan Get-Process
mendapatkan objek yang mewakili Calc
proses, lalu menyimpannya dalam $p
variabel.
Perintah ketiga menghentikan Calc
proses. Ini menggunakan parameter InputObject untuk meneruskan objek ke Stop-Process
.
Perintah terakhir mendapatkan semua proses pada komputer yang sedang berjalan tetapi sekarang dihentikan. Ini menggunakan Get-Process
untuk mendapatkan semua proses di komputer. Operator alur (|
) meneruskan hasil ke Where-Object
cmdlet, yang memilih yang mana nilai properti HasExited $True. HasExited hanyalah satu properti objek proses. Untuk menemukan semua properti, ketik Get-Process | Get-Member
.
Contoh 4: Menghentikan proses yang tidak dimiliki oleh pengguna saat ini
PS> Get-Process -Name "lsass" | Stop-Process
Stop-Process : Cannot stop process 'lsass (596)' because of the following error: Access is denied
At line:1 char:34
+ Get-Process -Name "lsass" | Stop-Process <<<<
[ADMIN]: PS> Get-Process -Name "lsass" | Stop-Process
Warning!
Are you sure you want to perform this action?
Performing operation 'Stop-Process' on Target 'lsass(596)'
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
[ADMIN]: PS> Get-Process -Name "lsass" | Stop-Process -Force
[ADMIN]: PS>
Perintah ini menunjukkan efek penggunaan Force untuk menghentikan proses yang tidak dimiliki oleh pengguna.
Perintah pertama menggunakan Get-Process
untuk mendapatkan proses Lsass. Operator alur mengirimkan proses untuk Stop-Process
menghentikannya. Seperti yang ditunjukkan dalam output sampel, perintah pertama gagal dengan pesan Akses ditolak, karena proses ini hanya dapat dihentikan oleh anggota grup Administrator di komputer.
Saat PowerShell dibuka dengan menggunakan opsi Jalankan sebagai administrator, dan perintah diulang, PowerShell meminta konfirmasi kepada Anda.
Perintah kedua menentukan Force untuk menekan prompt. Akibatnya, proses dihentikan tanpa konfirmasi.
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Force
Menghentikan proses yang ditentukan tanpa meminta konfirmasi. Secara default, Stop-Process
meminta konfirmasi sebelum menghentikan proses apa pun yang tidak dimiliki oleh pengguna saat ini.
Untuk menemukan pemilik proses, gunakan Get-CimInstance
cmdlet untuk mendapatkan objek Win32_Process yang mewakili proses, lalu gunakan metode GetOwner objek.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Id
Menentukan ID proses yang akan dihentikan. Untuk menentukan beberapa ID, gunakan koma untuk memisahkan ID. Untuk menemukan PID proses, ketik Get-Process
.
Jenis: | Int32[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-InputObject
Menentukan objek proses yang akan dihentikan. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.
Jenis: | Process[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Name
Menentukan nama proses yang akan dihentikan. Anda dapat mengetik beberapa nama proses, dipisahkan oleh koma, atau menggunakan karakter kartubebas.
Jenis: | String[] |
Alias: | ProcessName |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | True |
-PassThru
Mengembalikan objek yang mewakili proses. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek proses ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
Saat Anda menggunakan parameter PassThru, cmdlet ini mengembalikan objek Proses yang mewakili proses yang dihentikan.
Catatan
Windows PowerShell menyertakan alias berikut untuk Stop-Process
:
kill
spps
Anda juga dapat menggunakan properti dan metode objek Win32_Process Windows Management Instrumentation (WMI) di Windows PowerShell. Untuk informasi selengkapnya, lihat
Get-CimInstance
dan WMI SDK.Saat menghentikan proses, menyadari bahwa menghentikan proses dapat menghentikan proses dan layanan yang bergantung pada prosesnya. Dalam kasus ekstrem, menghentikan proses dapat menghentikan Windows.