Wait-Process
Daha fazla giriş kabul etmeden önce işlemlerin durdurulmasını bekler.
Sözdizimi
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
-InputObject <Process[]>
[<CommonParameters>]
Description
Bu cmdlet Linux veya macOS'ta çalışmaz.
Wait-Process
cmdlet'i girişi kabul etmeden önce bir veya daha fazla çalışan işlemin durdurulmasını bekler. PowerShell konsolunda bu cmdlet, işlemler durdurulana kadar komut istemini gizler. İşlem adına veya işlem kimliğine (PID) göre bir işlem belirtebilir ya da bir işlem nesnesini Wait-Process
'a yöneltebilirsiniz.
Wait-Process
yalnızca yerel bilgisayarda çalışan işlemlerde çalışır.
Örnekler
Örnek 1: İşlemi durdurma ve bekleme
Bu örnek, Not Defteri işlemini durdurur ve sonraki komutla devam etmeden önce işlemin durdurulmasını bekler.
$nid = (Get-Process notepad).Id
Stop-Process -Id $nid
Wait-Process -Id $nid
Get-Process
cmdlet'i, Not Defteri işleminin işlem kimliğini alır ve $nid
değişkeninde depolar.
Stop-Process
, $nid
içinde depolanan kimlikle işlemi durdurur.
Wait-Process
Not Defteri işlemi durdurulana kadar bekler.
Örnek 2: İşlem belirtme
Bu örnekte, Wait-Process
için bir işlem belirtmenin üç farklı yöntemi gösterilmektedir. İlk komut Not Defteri işlemini alır ve $p
değişkeninde depolar. İkinci komut Kimliği parametresini, üçüncü komut Name parametresini, dördüncü komut ise InputObject parametresini kullanır.
$p = Get-Process notepad
Wait-Process -Id $p.Id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
Bu komutlar aynı sonuçlara sahiptir ve birbirinin yerine kullanılabilir.
Örnek 3: Belirtilen süre boyunca işlemleri bekleyin
Bu örnekte Wait-Process
, Outlook ve winword işlemlerinin durdurulması için 30 saniye bekler. her iki işlem de durdurulmazsa, cmdlet'i sonlandırılmayan bir hata ve komut istemi görüntüler.
Wait-Process -Name outlook, winword -Timeout 30
Parametreler
-Any
Wait-Process
'a birden çok işlem geçirildiğinde, cmdlet geri dönmeden önce tüm işlemlerin çıkmasını bekler. Bu parametreyle, herhangi bir işlem çıktığında cmdlet'i döndürür. Kalan işlemler çalışmaya devam eder.
Bu parametre PowerShell 7.4'e eklendi.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Id
İşlemlerin işlem kimliklerini belirtir. Birden çok kimlik belirtmek için, kimlikleri ayırmak için virgül kullanın.
Bir işlemin PID'sini bulmak için Get-Process
yazın.
Tür: | Int32[] |
Diğer adlar: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-InputObject
İşlem nesnelerini göndererek işlemleri belirtir. İşlem nesnelerini içeren bir değişken girin veya Get-Process
cmdlet'i gibi işlem nesnelerini alan bir komut veya ifade yazın.
Tür: | Process[] |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Name
İşlemlerin işlem adlarını belirtir. Birden çok ad belirtmek için adları ayırmak için virgül kullanın. Joker karakterler desteklenmez.
Tür: | String[] |
Diğer adlar: | ProcessName |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-PassThru
Varsayılan olarak, bu cmdlet herhangi bir çıkış yapmaz. Bu parametreyle, cmdlet beklenilen işlemleri temsil eden nesneleri döndürür.
Bu parametre PowerShell 7.4'e eklendi.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Timeout
Bu cmdlet'in belirtilen işlemlerin durmasını bekleyeceği en uzun süreyi saniye cinsinden belirtir. Bu aralığın süresi dolduğunda, komut hala çalışmakta olan işlemleri listeleyen ve beklemeyi sona erdiren sonlandırılmayan bir hata görüntüler. Varsayılan olarak zaman aşımı yoktur.
Tür: | Int32 |
Diğer adlar: | TimeoutSec |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Bir işlem nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Varsayılan olarak, bu cmdlet çıkış döndürmez.
cmdlet, PassThru parametresini kullandığınızda işlem nesnelerini döndürür.
Notlar
Bu cmdlet, System.Diagnostics.Process sınıfının WaitForExit yöntemini kullanır.
Start-Process -Wait
aksineWait-Process
yalnızca tanımlanan işlemleri bekler.Start-Process -Wait
, denetimi döndürmeden önce işlem ağacının (işlem ve tüm alt öğeleri) çıkışını bekler.
İlişkili Bağlantılar
PowerShell