Wait-Process
Menunggu proses dihentikan sebelum menerima lebih banyak input.
Sintaks
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Deskripsi
Wait-Process
Cmdlet menunggu satu atau beberapa proses yang berjalan dihentikan sebelum menerima input. Di konsol PowerShell, cmdlet ini menekan prompt perintah hingga proses dihentikan. Anda dapat menentukan proses berdasarkan nama proses atau ID proses (PID), atau menyalurkan objek proses ke Wait-Process
.
Wait-Process
hanya berfungsi pada proses yang berjalan di komputer lokal.
Contoh
Contoh 1: Hentikan proses dan tunggu
PS C:\> $nid = (Get-Process notepad).id
PS C:\> Stop-Process -Id $nid
PS C:\> Wait-Process -Id $nid
Contoh ini menghentikan proses Notepad lalu menunggu proses dihentikan sebelum dilanjutkan dengan perintah berikutnya.
Perintah pertama menggunakan Get-Process
cmdlet untuk mendapatkan ID proses Notepad. Ini menyimpan ID dalam $nid
variabel.
Perintah kedua menggunakan Stop-Process
cmdlet untuk menghentikan proses dengan ID yang disimpan di $nid
.
Perintah ketiga menggunakan Wait-Process
untuk menunggu hingga proses Notepad dihentikan. Ini menggunakan parameter Wait-Process
Id untuk mengidentifikasi proses.
Contoh 2: Menentukan proses
PS C:\> $p = Get-Process notepad
PS C:\> Wait-Process -Id $p.id
PS C:\> Wait-Process -Name "notepad"
PS C:\> Wait-Process -InputObject $p
Perintah ini menunjukkan tiga metode berbeda untuk menentukan proses ke Wait-Process
. Perintah pertama mendapatkan proses Notepad dan menyimpannya dalam $p
variabel.
Perintah kedua menggunakan parameter Id, perintah ketiga menggunakan parameter Nama, dan perintah keempat menggunakan parameter InputObject.
Perintah ini memiliki hasil yang sama dan dapat digunakan secara bergantian.
Contoh 3: Tunggu proses untuk waktu yang ditentukan
PS C:\> Wait-Process -Name outlook, winword -Timeout 30
Perintah ini menunggu 30 detik agar proses Outlook dan Winword berhenti. Jika kedua proses tidak dihentikan, cmdlet menampilkan kesalahan yang tidak mengakhiri dan prompt perintah.
Parameter
-Id
Menentukan ID proses. Untuk menentukan beberapa ID, gunakan koma untuk memisahkan ID.
Untuk menemukan PID proses, ketik Get-Process
.
Jenis: | Int32[] |
Alias: | PID, ProcessId |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-InputObject
Menentukan proses dengan mengirimkan objek proses. Masukkan variabel yang berisi objek proses, atau ketik perintah atau ekspresi yang mendapatkan objek proses, seperti Get-Process
cmdlet.
Jenis: | Process[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Name
Menentukan nama proses. Untuk menentukan beberapa nama, gunakan koma untuk memisahkan nama. Karakter kartubebas tidak didukung.
Jenis: | String[] |
Alias: | ProcessName |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Timeout
Menentukan waktu maksimum, dalam detik, bahwa cmdlet ini menunggu proses yang ditentukan berhenti. Ketika interval ini kedaluwarsa, perintah menampilkan kesalahan yang tidak mengakhiri yang mencantumkan proses yang masih berjalan, dan mengakhiri penantian. Secara default, tidak ada waktu habis.
Jenis: | Int32 |
Alias: | TimeoutSec |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek proses ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
Cmdlet ini menggunakan metode WaitForExit dari kelas System.Diagnostics.Process .
Tidak seperti
Start-Process -Wait
,Wait-Process
hanya menunggu proses yang diidentifikasi.Start-Process -Wait
menunggu pohon proses (proses dan semua turunannya) keluar sebelum mengembalikan kontrol.