Bagikan melalui


Stop-Process

Menghentikan satu atau beberapa proses yang sedang berjalan.

Sintaks

Id (Default)

Stop-Process
    [-Id] <Int32[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Name

Stop-Process
    -Name <String[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

Stop-Process
    [-InputObject] <Process[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Deskripsi

Cmdlet Stop-Process 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

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

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 selain ID-nya, ini adalah praktik terbaik. Parameter PassThru meneruskan objek proses ke formatter 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 proses Calc, lalu mendeteksi proses yang telah berhenti.

Perintah pertama memulai instans kalkulator.

Perintah kedua menggunakan Get-Process mendapatkan objek yang mewakili proses Calc, lalu menyimpannya dalam variabel $p.

Perintah ketiga menghentikan proses Calc. 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

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 ke Stop-Process untuk 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 konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 cmdlet Get-CimInstance untuk mendapatkan objek Win32_Process yang mewakili proses, lalu gunakan metode GetOwner objek.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Id

Menentukan ID proses yang akan dihentikan. Untuk menentukan beberapa ID, gunakan koma untuk memisahkan ID. Untuk menemukan PID proses, ketik Get-Process.

Properti parameter

Jenis:

Int32[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

Id
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan objek proses yang akan dihentikan. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.

Properti parameter

Jenis:

Process[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

InputObject
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Name

Menentukan nama proses yang akan dihentikan. Anda dapat mengetik beberapa nama proses, dipisahkan oleh koma, atau menggunakan karakter kartubebas.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False
Alias:ProcessName

Set parameter

Name
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-PassThru

Mengembalikan objek yang mewakili proses. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

Process

Anda dapat menyalurkan objek proses ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

Process

Saat Anda menggunakan parameter PassThru, cmdlet ini mengembalikan objek Proses yang mewakili proses yang dihentikan.

Catatan

PowerShell menyertakan alias berikut untuk Stop-Process:

  • Semua platform:
    • spps
  • Windows:
    • kill

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.