jobs(1p)
jobs(1p)
Namn
jobs — visa status för jobb i den aktuella sessionen
Synopsis
jobs [-l|-p] [job_id...]
Prolog
Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementeringen av detta gränssnitt kan skilja sig åt; se motsvarande Linux-manualsida för information om Linux-specifikt beteende. Gränssnittet behöver inte heller vara implementerat på Linux.
Beskrivning
Verktyget jobs ska visa status för jobb som har startats i den aktuella skalmiljön. Se avsnitt 2.12, Shell Execution Environment.
När jobs rapporterar avslutningsstatus för ett jobb ska skalet ta bort dess process-ID från listan över sådana som är ”kända i den aktuella skalexekveringsmiljön”. Se avsnitt 2.9.3.1, Examples.
Flaggor
Verktyget jobs ska följa Base Definitions-volymen av POSIX.1-2017, avsnitt 12.2, Utility Syntax Guidelines.
Följande flaggor ska stödjas:
-l
- Bokstaven ell. Visa mer information om varje listat jobb. Informationen ska omfatta jobbnummer, aktuellt jobb, processgrupp-ID, tillstånd och kommandot som bildade jobbet.
-p
- Visa endast process-ID:n för processgruppsledarna för de valda jobben.
Som standard ska jobs visa status för alla stoppade jobb, körande bakgrundsjobb och alla jobb vars status har ändrats och ännu inte har rapporterats av skalet.
Operander
Följande operand ska stödjas:
job_id
- Anger de jobb vars status ska visas. Om inget job_id anges ska statusinformation för alla jobb visas. Formatet för job_id beskrivs i Base Definitions-volymen av POSIX.1-2017, avsnitt 3.204, Job Control Job ID.
Standard in
Används inte.
Indatafiler
Inga.
Miljövariabler
Följande miljövariabler ska påverka körningen av jobs:
LANG
- Anger ett standardvärde för internationaliseringsvariabler som är odefinierade eller tomma. Se Base Definitions-volymen av POSIX.1-2017, avsnitt 8.2, Internationalization Variables, för prioritetsordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.
LC_ALL
- Om variabeln är satt till ett icke-tomt strängvärde åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
- Bestämmer lokalen för tolkning av sekvenser av byte i textdata som tecken, till exempel enkelbyte- i stället för multibyte-tecken i argument.
LC_MESSAGES
- Bestämmer lokalen som ska användas för att påverka format och innehåll i diagnostiska meddelanden som skrivs till standard fel, samt informativa meddelanden som skrivs till standard ut.
NLSPATH
- Bestämmer platsen för meddelandekataloger vid behandling av LC_MESSAGES.
Asynkrona händelser
Standard.
Standard ut
Om flaggan -p anges ska utdata bestå av en rad för varje process-ID:
"%d\n", <process-ID>
Annars, om flaggan -l inte anges, ska utdata bestå av en serie rader med följande form:
"[%d] %c %s %s\n", <jobbnummer>, <aktuellt>, <tillstånd>, <kommando>
Fälten ska vara följande:
<aktuellt>
- Tecknet + identifierar det jobb som skulle användas som standard av verktygen fg eller bg. Detta jobb kan också anges med job_id %+ eller "%%". Tecknet - identifierar det jobb som skulle bli standard om det aktuella standardjobbet avslutades. Detta jobb kan också anges med job_id %-. För andra jobb är detta fält ett mellanslag. Högst ett jobb kan identifieras med + och högst ett jobb kan identifieras med -. Om det finns något suspenderat jobb ska det aktuella jobbet vara ett suspenderat jobb. Om det finns minst två suspenderade jobb ska även det föregående jobbet vara ett suspenderat jobb.
<jobbnummer>
- Ett nummer som kan användas för att identifiera processgruppen för verktygen wait, fg, bg och kill. Med dessa verktyg kan jobbet identifieras genom att jobbnumret föregås av %.
<tillstånd>
- En av följande strängar i POSIX-lokalen:
- Running
- Anger att jobbet inte har suspenderats av en signal och inte har avslutats.
- Done
- Anger att jobbet slutfördes och returnerade avslutningsstatus noll.
- Done( code )
- Anger att jobbet avslutades normalt och att det avslutades med angiven icke-noll avslutningsstatus, code, uttryckt som ett decimaltal.
- Stopped
- Anger att jobbet suspenderades av signalen SIGTSTP.
- Stopped (SIGTSTP)
- Anger att jobbet suspenderades av signalen SIGTSTP.
- Stopped (SIGSTOP)
- Anger att jobbet suspenderades av signalen SIGSTOP.
- Stopped (SIGTTIN)
- Anger att jobbet suspenderades av signalen SIGTTIN.
- Stopped (SIGTTOU)
- Anger att jobbet suspenderades av signalen SIGTTOU.
Implementeringen får ersätta strängen Stopped med Suspended. Om jobbet avslutades av en signal är formatet för <tillstånd> ospecificerat, men det ska vara synligt skilt från alla andra tillståndsformat som visas här och ska ange namnet på eller beskrivningen av signalen som orsakade avslutningen.
<kommando>
- Det associerade kommandot som gavs till skalet.
Om flaggan -l anges ska ett fält med processgrupp-ID infogas före fältet <tillstånd>. Dessutom kan fler processer i en processgrupp skrivas ut på separata rader, med endast process-ID- och <kommando>-fälten.
Standard fel
Standard fel ska endast användas för diagnostiska meddelanden.
Utdatafiler
Inga.
Utökad beskrivning
Ingen.
Avslutningsstatus
Följande avslutningsvärden ska returneras:
0
- Körningen slutfördes utan fel.
>0
- Ett fel inträffade.
Följder av fel
Standard.
Följande avsnitt är informativa.
Användning i program
Flaggan -p är det enda portabla sättet att ta reda på ett jobbs processgrupp, eftersom olika implementationer använder olika strategier för att definiera jobbets processgrupp. Användning som $(jobs -p) ger ett sätt att referera till jobbets processgrupp på ett implementationsoberoende sätt.
Verktyget jobs fungerar inte som förväntat när det körs i sin egen verktygsexekveringsmiljö, eftersom den miljön inte har några tillämpliga jobb att manipulera. Se avsnittet APPLICATION USAGE för bg(1p). Av denna anledning implementeras jobs i allmänhet som en vanlig inbyggd funktion i skalet.
Exempel
Inga.
Bakgrund och motivering
Både "%%" och "%+" används för att hänvisa till det aktuella jobbet. Båda formerna är lika giltiga — "%%" speglar "$$" och "%+" speglar utdata från jobs. Båda formerna återspeglar historisk praxis i KornShell och C shell med jobbkontroll.
Funktionerna för jobbkontroll som tillhandahålls av bg, fg och jobs bygger på KornShell. Standardutvecklarna undersökte egenskaperna hos C shell-versionerna av dessa verktyg och fann att skillnader finns. Trots att C shell används i stor omfattning valdes KornShell-versionerna för denna volym av POSIX.1-2017 för att upprätthålla en grad av enhetlighet med övriga KornShell-funktioner som valdes, till exempel de mycket populära funktionerna för kommandoradsredigering.
Verktyget jobs är inte beroende av alternativet för jobbkontroll, till skillnad från de till synes relaterade verktygen bg och fg, eftersom jobs är användbart för att undersöka bakgrundsjobb oavsett tillståndet för jobbkontroll. När användaren har kört kommandot set +m och jobbkontroll har stängts av kan jobs fortfarande användas för att undersöka de bakgrundsjobb som hör till den aktuella sessionen. På samma sätt kan kill då användas för att döda bakgrundsjobb med kill %<bakgrundsjobbnummer>.
Utdata för avslutade jobb lämnas ospecificerade för att rymma olika historiska system. Följande format har observerats:
- Killed( signalnamn )
- signalnamn
- signalnamn(coredump)
- signalbeskrivning- core dumped
De flesta användare bör kunna förstå dessa format, även om det innebär att program har svårt att tolka dem.
Beräkningen av jobb-ID:n beskrevs inte, eftersom detta skulle antyda en implementation som kan införa onödiga begränsningar.
I ett tidigt förslag fanns en flagga -n för att ”visa status för jobb som har ändrats, avslutats eller stoppats sedan den senaste statusrapporten”. Den togs bort eftersom skalet alltid skriver ut ändrad status för jobb före varje prompt.
Framtida riktning
Ingen.
Se även
bg(1p), fg(1p), kill(1p), wait(1p)
Base Definitions-volymen av POSIX.1-2017, avsnitt 3.204, Job Control Job ID, kapitel 8, Environment Variables, avsnitt 12.2, Utility Syntax Guidelines.
Upphovsrätt
Delar av denna text är återtryckta och reproducerade i elektronisk form från IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 av Institute of Electrical and Electronics Engineers, Inc och The Open Group. Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden är den ursprungliga standarden det avgörande dokumentet. Den ursprungliga standarden kan hämtas online på:
http://www.opengroup.org/unix/online.html
Eventuella typografiska fel eller formateringsfel som förekommer på denna sida har troligen införts under konverteringen av källfilerna till man-sidesformat. För att rapportera sådana fel, se:
https://www.kernel.org/doc/man-pages/reporting_bugs.html
Sidfot
IEEE/The Open Group 2017 JOBS(1P)