Stop-Job
PowerShell arka plan işini durdurur.
Syntax
SessionIdParameterSet (Varsayılan)
Stop-Job
[-Id] <Int32[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobParameterSet
Stop-Job
[-Job] <Job[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Stop-Job
[-Name] <String[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Stop-Job
[-InstanceId] <Guid[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Stop-Job
[-State] <JobState>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FilterParameterSet
Stop-Job
[-Filter] <Hashtable>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Stop-Job cmdlet'i devam 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 Stop-Jobgeçirerek kullanabilirsiniz.
Stop-Job cmdlet'i veya herhangi bir cmdlet'in Start-Job parametresi kullanılarak başlatılan arka plan işlerini durdurmak için kullanabilirsiniz. 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 Remove-Job cmdlet'ini kullanın.
Windows PowerShell 3.0'dan başlayarak Stop-JobWorkflowJobs gibi özel iş türlerini ve ScheduledJobsörneklerini de durdurur.
Stop-Job özel iş türüne sahip bir işi durdurmasını sağlamak için, Stop-Job cmdlet'ini kullanarak veya modülde bir cmdlet'i kullanarak veya alarak bir Import-Module komutu ç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 Stop-Job cmdlet'inin nasıl kullanılacağı gösterilmektedir.
İş, Invoke-Command komutunu uzaktan çalıştırmak için Start-Job cmdlet'iyle başlatıldığından, iş nesnesi uzak bilgisayarda depolanır. Bir Invoke-Command komutunu uzaktan çalıştırmak için başka bir Stop-Job komutu 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 $s değişkeninde depolar. komutu, bir etki alanı yöneticisinin kimlik bilgilerini kullanır.
İkinci komut, oturumda bir Invoke-Command komutu çalıştırmak için Start-Job cmdlet'ini kullanır. İşteki komut, Sistem olay günlüğündeki tüm olayları alır. Sonuçta elde edilen iş nesnesi $j değişkeninde depolanır.
Üçüncü komut işi durdurur.
Invoke-Command cmdlet'ini kullanarak Server01'deki Stop-Job bir komutu çalıştırır. İş nesneleri yerel bilgisayardaki bir değişken olan $jiçinde depolandığından, komut Using: yerel değişken olarak tanımlamak için $j kapsam değiştiricisini kullanır.
Using: kapsam değiştirici hakkında daha fazla bilgi için bkz. about_Remote_Variables.
Komut tamamlandığında iş durdurulur ve $s kullanılabilir.
Örnek 2: Arka plan işini durdurma
Stop-Job -Name "Job1"
Bu komut Job1 arka plan işini durdurur.
Örnek 3: Birkaç arka plan işini durdurma
Stop-Job -Id 1, 3, 4
Bu komut üç işi durdurur. Bunları 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, InstanceIdtemelinde bir işin nasıl durdurulacağını gösterir.
İlk komut, geçerli oturumdaki işleri almak için Get-Job cmdlet'ini kullanır. komut, işleri her işin belirtilen özelliklerinin bir tablosunu görüntüleyen bir | komutuna göndermek için bir işlem hattı işleci (Format-Table) kullanır. Tablo, her işin InstanceId içerir. İş durumunu görüntülemek için hesaplanan bir özellik kullanır.
İkinci komut, seçili işi durdurmak için Stop-Job parametresine sahip bir komutu 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 Stop-Job cmdlet'inin nasıl kullanılacağı gösterilmektedir.
İş, cmdlet'in Invoke-Command parametresiyle başlatıldığından, job nesnesi uzak bilgisayarda çalıştırılsa bile yerel bilgisayarda bulunur. Bu nedenle, işi durdurmak için yerel bir Stop-Job komutu kullanabilirsiniz.
İlk komut, Server01 bilgisayarında bir arka plan işi başlatmak için Invoke-Command cmdlet'ini kullanır. Komut, uzak komutu arka plan işi olarak çalıştırmak için AsJob parametresini kullanır.
Bu komut, Start-Job cmdlet'in döndürdüğü aynı iş nesnesi olan bir iş nesnesi döndürür.
komutu, iş nesnesini $j değişkenine kaydeder.
İkinci komut, $j değişkenindeki işi Stop-Jobgöndermek için bir işlem hattı işleci kullanır. komut, bir iş nesnesi döndürmeye yönlendirmek için Stop-Job 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.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Cf |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Filter
Koşulların karma tablosunu belirtir. Bu cmdlet her koşula uyan işleri durdurur. Bir karma tablo girin, burada anahtarlar iş özellikleri, değerler ise iş özelliği değerleridir.
Bu parametre yalnızca WorkflowJobs ve ScheduledJobsgibi özel iş türlerinde çalışır.
Start-Job cmdlet'i kullanılarak 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.
Parametre özellikleri
| Tür: | Hashtable |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FilterParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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 hatırlanır ve yazılır, ancak yalnızca mevcut oturumda benzersizdir." Virgülle ayırarak bir veya daha fazla kimlik yazabilirsiniz. İşin kimliğini bulmak için Get-Jobyazın.
Parametre özellikleri
| Tür: | Int32[] |
| Default value: | All jobs |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
SessionIdParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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 Get-Jobkullanın.
Parametre özellikleri
| Tür: | Guid[] |
| Default value: | All jobs |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
InstanceIdParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Job
Bu cmdlet'in durdurduğunu işleri belirtir. İşleri içeren bir değişken veya işleri getiren bir komut girin. İşleri Stop-Job cmdlet'ine göndermek 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.
Parametre özellikleri
| Tür: | Job[] |
| Default value: | All jobs |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
JobParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Name
Bu cmdlet'in durdurduğunu işlerin kolay adlarını belirtir. İş adlarını virgülle ayrılmış bir listeye girin veya 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
Parametre özellikleri
| Tür: | String[] |
| Default value: | All jobs |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
NameParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-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.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-State
bir iş durumu belirtir. Bu cmdlet yalnızca belirtilen durumdaki işleri durdurur. Bu parametre için kabul edilebilir değerler şunlardır:
NotStartedRunningCompletedFailedStoppedBlockedSuspendedDisconnectedSuspendingStopping
İş durumları hakkında daha fazla bilgi için bkz. JobState Sıralaması.
Parametre özellikleri
| Tür: | JobState |
| Default value: | All jobs |
| Kabul edilen değerler: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
StateParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Wi |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
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, Stop-Jobiçin aşağıdaki diğer adları içerir:
- Tüm platformlar:
spjb