jobs(1p)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök

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:

  1. Killed( signalnamn )
  2. signalnamn
  3. signalnamn(coredump)
  4. 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)

Sidslut

Orginalhemsidan på Engelska https://www.man7.org/linux/man-pages/man1/jobs.1p.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp hemma som har sponsrat Linux.se med webbhotell.