Wait-Process
Menunggu proses dihentikan sebelum menerima lebih banyak input.
Sintaks
Name (Default)
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Id
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
InputObject
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[-Any]
[-PassThru]
[<CommonParameters>]
Deskripsi
Cmdlet ini tidak berfungsi di Linux atau macOS.
Cmdlet Wait-Process 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
Contoh ini menghentikan proses Notepad lalu menunggu proses dihentikan sebelum dilanjutkan dengan perintah berikutnya.
$nid = (Get-Process notepad).Id
Stop-Process -Id $nid
Wait-Process -Id $nid
Cmdlet Get-Process mendapatkan ID proses Notepad dan menyimpannya dalam variabel $nid.
Stop-Process menghentikan proses dengan ID yang disimpan di $nid.
Wait-Process menunggu hingga proses Notepad dihentikan.
Contoh 2: Menentukan proses
Contoh ini menunjukkan tiga metode berbeda untuk menentukan proses yang akan Wait-Process. Perintah pertama mendapatkan proses Notepad dan menyimpannya dalam variabel $p. Perintah kedua menggunakan parameter Id
$p = Get-Process notepad
Wait-Process -Id $p.Id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
Perintah ini memiliki hasil yang sama dan dapat digunakan secara bergantian.
Contoh 3: Tunggu proses untuk waktu yang ditentukan
Dalam contoh ini, Wait-Process menunggu 30 detik hingga proses Outlook dan Winword berhenti. Jika kedua proses tidak dihentikan, cmdlet menampilkan kesalahan yang tidak mengakhiri dan prompt perintah.
Wait-Process -Name outlook, winword -Timeout 30
Parameter
-Any
Ketika beberapa proses diteruskan ke Wait-Process, cmdlet menunggu semua proses keluar sebelum kembali. Dengan parameter ini, cmdlet kembali ketika salah satu proses keluar. Proses yang tersisa terus berjalan.
Parameter ini ditambahkan di PowerShell 7.4.
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. 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 |
| Alias: | PID, ProcessId |
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 proses dengan mengirimkan objek proses. Masukkan variabel yang berisi objek proses, atau ketik perintah atau ekspresi yang mendapatkan objek proses, seperti cmdlet Get-Process.
Properti parameter
| Jenis: | Process[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
InputObject
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Name
Menentukan nama proses. Untuk menentukan beberapa nama, gunakan koma untuk memisahkan nama. Karakter kartubebas tidak didukung.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | ProcessName |
Set parameter
Name
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-PassThru
Secara default, cmdlet ini tidak menghasilkan apa pun. Dengan parameter ini, cmdlet mengembalikan objek yang mewakili proses yang ditunggu.
Parameter ini ditambahkan di PowerShell 7.4.
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 |
-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.
Properti parameter
| Jenis: | Int32 |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Set parameter
(All)
| Position: | 1 |
| 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
Cmdlet mengembalikan objek proses saat Anda menggunakan parameter PassThru.
Catatan
Cmdlet ini menggunakan metode WaitForExit kelas System.Diagnostics.Process.
Tidak seperti
Start-Process -Wait,Wait-Processhanya menunggu proses yang diidentifikasi.Start-Process -Waitmenunggu pohon proses (proses dan semua turunannya) keluar sebelum mengembalikan kontrol.