Aracılığıyla paylaş


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, $nidiçinde depolanan kimlikle işlemi durdurur. Wait-Process Not Defteri işlemi durdurulana kadar bekler.

Örnek 2: İşlem belirtme

Bu örnekte, Wait-Processiç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-Processyazı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

Process

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

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

Process

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 -Waitaksine 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.