Stop-Job
PowerShell arka plan işini durdurur.
Sözdizimi
Stop-Job
[-PassThru]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-Job] <Job[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet devam Stop-Job
eden PowerShell arka plan işlerini durdurur. Bu cmdlet'i kullanarak tüm işleri durdurabilir veya seçilen işleri adına, kimliğine, örnek kimliğine veya durumuna göre durdurabilir ya da bir iş nesnesini 'ye Stop-Job
geçirebilirsiniz.
cmdlet'i veya herhangi bir cmdlet'in AsJob parametresi kullanılarak Start-Job
başlatılanlar gibi arka plan işlerini durdurmak için kullanabilirsinizStop-Job
. Bir arka plan işini durdurduğunuzda PowerShell, bu iş kuyruğunda bekleyen tüm görevleri tamamlar ve sonra işi sonlandırır. Bu komut gönderildikten sonra kuyruğa yeni görev eklenmez.
Bu cmdlet arka plan işlerini silmez. Bir işi silmek için cmdlet'ini Remove-Job
kullanın.
Windows PowerShell 3.0'dan başlayarak WorkflowJobs Stop-Job
ve ScheduledJobs örnekleri gibi özel iş türlerini de durdurur. Özel iş türüne sahip bir işi durdurmayı etkinleştirmek Stop-Job
için, cmdlet'ini kullanarak Import-Module
veya modülde bir cmdlet alarak bir Stop-Job
komut çalıştırmadan önce özel iş türünü destekleyen modülü oturuma aktarın. Belirli bir özel iş türü hakkında bilgi için özel iş türü özelliğinin belgelerine bakın.
Örnekler
Örnek 1: Invoke-Command ile uzak bir bilgisayarda işi durdurma
$s = New-PSSession -ComputerName Server01 -Credential Domain01\Admin02
$j = Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Invoke-Command -Session $s -ScriptBlock { Stop-job -Job $Using:j }
Bu örnekte, uzak bilgisayarda çalışan bir işi durdurmak için cmdlet'in nasıl kullanılacağı Stop-Job
gösterilmektedir.
İş, komutu Start-Job
uzaktan çalıştırmak için cmdlet'iyle Invoke-Command
başlatıldığından, iş nesnesi uzak bilgisayarda depolanır. Bir komutu uzaktan çalıştırmak için başka Invoke-Command
bir Stop-Job
komut kullanmanız gerekir. Uzak arka plan işleri hakkında daha fazla bilgi için bkz. about_Remote_Jobs.
İlk komut, Server01 bilgisayarında bir PowerShell oturumu (PSSession) oluşturur ve ardından oturum nesnesini değişkende $s
depolar. komutu, bir etki alanı yöneticisinin kimlik bilgilerini kullanır.
İkinci komut, oturumda Invoke-Command
bir Start-Job
komut çalıştırmak için cmdlet'ini kullanır. İşteki komut, Sistem olay günlüğündeki tüm olayları alır. Sonuçta elde edilen iş nesnesi değişkeninde $j
depolanır.
Üçüncü komut işi durdurur. Cmdlet'ini Invoke-Command
kullanarak Server01'deki PSSession'da bir Stop-Job
komut çalıştırır. İş nesneleri yerel bilgisayardaki bir değişken olan içinde $j
depolandığından, komut yerel değişken olarak tanımlamak $j
için Using scope değiştiricisini kullanır. Kapsam değiştirici kullanma hakkında daha fazla bilgi için bkz. about_Remote_Variables.
Komut tamamlandığında iş durdurulur ve içindeki $s
PSSession kullanılabilir.
Örnek 2: Arka plan işini durdurma
Stop-Job -Name "Job1"
Bu komut arka plan işini durdurur Job1
.
Örnek 3: Birkaç arka plan işini durdurma
Stop-Job -Id 1, 3, 4
Bu komut üç işi durdurur. Kimlikleriyle tanımlar.
Örnek 4: Tüm arka plan işlerini durdurma
Get-Job | Stop-Job
Bu komut geçerli oturumdaki tüm arka plan işlerini durdurur.
Örnek 5: Engellenen tüm arka plan işlerini durdurma
Stop-Job -State Blocked
Bu komut engellenen tüm işleri durdurur.
Örnek 6: Örnek kimliğine göre işi durdurma
Get-Job | Format-Table ID, Name, Command, @{Label="State";Expression={$_.JobStateInfo.State}},
InstanceID -Auto
Id Name Command State InstanceId
-- ---- ------- ----- ----------
1 Job1 start-service schedule Running 05abb67a-2932-4bd5-b331-c0254b8d9146
3 Job3 start-service schedule Running c03cbd45-19f3-4558-ba94-ebe41b68ad03
5 Job5 get-service s* Blocked e3bbfed1-9c53-401a-a2c3-a8db34336adf
Stop-Job -InstanceId e3bbfed1-9c53-401a-a2c3-a8db34336adf
Bu komutlar, InstanceID'sine göre bir işin nasıl durdurulacağını gösterir.
İlk komut, geçerli oturumdaki Get-Job
işleri almak için cmdlet'ini kullanır. komutu, işleri bir Format-Table
komuta göndermek için bir işlem hattı işleci (|
) kullanır ve her işin belirtilen özelliklerinin bir tablosunu görüntüler. Tablo, her işin InstanceID değerini içerir. İş durumunu görüntülemek için hesaplanan bir özellik kullanır.
İkinci komut, seçili işi Stop-Job
durdurmak için InstanceID parametresine sahip bir komut kullanır.
Örnek 7: Uzak bilgisayarda işi durdurma
$j = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-EventLog -LogName System} -AsJob
$j | Stop-Job -PassThru
Id Name State HasMoreData Location Command
-- ---- ---- ----------- -------- -------
5 Job5 Stopped True user01-tablet Get-EventLog -LogName Sy...
Bu örnekte, uzak bilgisayarda çalışan bir işi durdurmak için cmdlet'in nasıl kullanılacağı Stop-Job
gösterilmektedir.
İş cmdlet'in AsJob parametresiyle başlatıldığından Invoke-Command
, iş uzak bilgisayarda çalıştırılsa bile İş nesnesi yerel bilgisayarda bulunur. Bu nedenle, işi durdurmak için yerel Stop-Job
bir komut kullanabilirsiniz.
İlk komut, Server01 bilgisayarında bir arka plan işi başlatmak için cmdlet'ini kullanır Invoke-Command
. komutu, uzak komutu arka plan işi olarak çalıştırmak için AsJob parametresini kullanır.
Bu komut, cmdlet'in döndürdüğü aynı iş nesnesi olan Start-Job
bir iş nesnesi döndürür.
komutu, iş nesnesini değişkene $j
kaydeder.
İkinci komut, değişkenindeki $j
Stop-Job
işi adresine göndermek için bir işlem hattı işleci kullanır. Komutu, bir iş nesnesini döndürmek için doğrudan Stop-Job
PassThru parametresini kullanır. İş nesnesi görüntüsü, işin durumunun Durduruldu olduğunu onaylar.
Uzak arka plan işleri hakkında daha fazla bilgi için bkz . about_Remote_Jobs.
Parametreler
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Tür: | SwitchParameter |
Diğer adlar: | cf |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Filter
Koşulların karma tablosunu belirtir. Bu cmdlet her koşula uyan işleri durdurur. Anahtarların iş özellikleri, değerlerin ise iş özelliği değerleri olduğu bir karma tablo girin.
Bu parametre yalnızca WorkflowJobs ve ScheduledJobs gibi özel iş türlerinde çalışır. Cmdlet'i kullanılarak Start-Job
oluşturulanlar gibi standart arka plan işlerinde çalışmaz.
Bu parametre desteği hakkında bilgi için iş türü için yardım konusuna bakın.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | Hashtable |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Id
Bu cmdlet'in durdurduğunu işlerin kimliklerini belirtir. Varsayılan değer geçerli oturumdaki tüm işlerdir.
Kimlik, geçerli oturumdaki işi benzersiz olarak tanımlayan bir tamsayıdır. Örnek kimliğinden daha kolay anımsanıp yazabilirsiniz, ancak yalnızca geçerli oturumda benzersizdir. Virgülle ayırarak bir veya daha fazla kimlik yazabilirsiniz. İşin kimliğini bulmak için yazın Get-Job
.
Tür: | Int32[] |
Position: | 0 |
Default value: | All jobs |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-InstanceId
Bu cmdlet'in durdurduğunu işlerin örnek kimliklerini belirtir. Varsayılan değer tüm işlerdir.
Örnek kimliği, bilgisayardaki işi benzersiz olarak tanımlayan bir GUID'dir. bir işin örnek kimliğini bulmak için kullanın Get-Job
.
Tür: | Guid[] |
Position: | 0 |
Default value: | All jobs |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Job
Bu cmdlet'in durdurduğunu işleri belirtir. İşleri içeren bir değişken veya işleri alan bir komut girin. İşleri cmdlet'e göndermek Stop-Job
için bir işlem hattı işleci de kullanabilirsiniz. Varsayılan olarak, Stop-Job
geçerli oturumda başlatılan tüm işleri siler.
Tür: | Job[] |
Position: | 0 |
Default value: | All jobs |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Name
Bu cmdlet'in durdurduğunu işlerin kolay adlarını belirtir. İş adlarını virgülle ayrılmış bir listeye girin veya bir iş adı deseni girmek için joker karakterler (*
) kullanın. Varsayılan olarak, Stop-Job
geçerli oturumda oluşturulan tüm işleri durdurur.
Kolay adın benzersiz olması garanti edilmediğinden, işleri ada göre durdururken WhatIf ve Confirm parametrelerini kullanın.
Tür: | String[] |
Position: | 0 |
Default value: | All jobs |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | True |
-PassThru
Üzerinde çalıştığınız öğeyi temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-State
bir iş durumu belirtir. Bu cmdlet yalnızca belirtilen durumdaki işleri durdurur. Bu parametrenin kabul edilebilir değerleri şunlardır:
NotStarted
Running
Completed
Failed
Stopped
Blocked
Suspended
Disconnected
Suspending
Stopping
İş durumları hakkında daha fazla bilgi için bkz . JobState Numaralandırması.
Tür: | JobState |
Kabul edilen değerler: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Default value: | All jobs |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-WhatIf
Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Tür: | SwitchParameter |
Diğer adlar: | wi |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
System.Management.Automation.RemotingJob
Bir iş nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Varsayılan olarak, bu cmdlet çıkış döndürmez.
System.Management.Automation.PSRemotingJob
PassThru parametresini kullandığınızda, bu cmdlet bir iş nesnesi döndürür.
Notlar
PowerShell için aşağıdaki diğer adları Stop-Job
içerir:
- Tüm platformlar:
spjb
İlişkili Bağlantılar
PowerShell