Bagikan melalui


Wait-Process

Menunggu proses dihentikan sebelum menerima lebih banyak input.

Sintaks

Name (Default)

Wait-Process
    [-Name] <String[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]

Id

Wait-Process
    [-Id] <Int32[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]

InputObject

Wait-Process
    [[-Timeout] <Int32>]
    -InputObject <Process[]>
    [<CommonParameters>]

Deskripsi

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

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-ProcessId 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 variabel $p.

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.

Properti parameter

Jenis:

Int32[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PID, ProcessId

Kumpulan 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

Kumpulan 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

Kumpulan parameter

Name
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
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

Kumpulan 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

Cmdlet ini tidak mengembalikan output.

Catatan

  • Cmdlet ini menggunakan metode WaitForExit 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.