Wait-Process

Daha fazla giriş kabul etmeden önce işlemlerin durdurulmasını bekler.

Syntax

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

Description

Bu cmdlet Linux veya macOS üzerinde çalışmaz.

Cmdlet, Wait-Process 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 veya bir işlem nesnesini öğesine yöneltebilirsiniz Wait-Process.

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

Cmdlet, Get-Process Not Defteri işleminin işlem kimliğini alır ve değişkende $nid depolar. Stop-Process içinde depolanan $nidkimlikle işlemi durdurur. Wait-ProcessNot Defteri işlemi durdurulana kadar bekler.

Örnek 2: İşlem belirtme

Bu örnekte, için bir işlem Wait-Processbelirtmenin üç farklı yöntemi gösterilir. İlk komut Not Defteri işlemini alır ve değişkende $p depolar. İkinci komut Id 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 durması 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

-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 yazın Get-Process.

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

İşlem nesnelerini göndererek işlemleri belirtir. İşlem nesnelerini içeren bir değişken girin veya cmdlet gibi Get-Process işlem nesnelerini alan bir komut veya ifade yazın.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:Int32
Aliases:TimeoutSec
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

Process

Bir işlem nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.

Notlar

  • Bu cmdlet, System.Diagnostics.Process sınıfının WaitForExit yöntemini kullanır.

  • aksine Start-Process -Wait, Wait-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.