Jobkezelés

Amikor a parancssorból útjára bocsátunk egy parancsot vagy parancssorozatot, a csh egy úgynevezett jobazonosítót (job id) rendel hozzá. Ha nem háttérfolyamatként indítottuk a parancso(ka)t, ebből semmit se látunk. Ha viszont háttérfolyamatot futtatunk (a parancso(ka)t a '&' karakterrel zárjuk le), a prompt megjelenésekor a csh szögletes zárójelek között kiírja a jobazonosítót, utána pedig az ehhez a jobhoz tartozóan elindított összes folyamat folyamatazonosítóját:

hp 21: find / -name semmi -print &

[1] 4354

hp 22:

A kurrens jobok listáját a jobs paranccsal tekinthetjük meg, a listában '+' jel jelöli a legutoljára megállított, vagy háttérbe helyezett jobot, '-' jellel pedig a megelőző jobot; ha a kurrens job megszűnik vagy előtérbe kerül, ez lép a helyére.

Ha egy előtérben futó folyamatot szeretnénk háttérbe helyezni, a suspend funkcióhoz rendelt karakterrel (ez rendszerint a CTRL-Z) tudjuk az előtérben futó folyamatot felfüggeszteni; ezután pedig a megfelelő parancsokkal tudjuk folytatni a futását, háttérbe helyezni, végleg leállítani, stb.

A jobokon az fg, bg, kill, stop és % parancsokkal tudunk műveleteket végezni. Általában igaz az, hogy egy jobra való hivatkozás a % jellel kezdődik; az önmagában álló % jel a kurrens jobra hivatkozik.

%, %+, %% A kurrens job.

%- Az előző job.

%job E megadásnál job akár a konkrét jobazonosító lehet (például kill %3), akár az adott jobra egyértelműen jellemző parancssori részlet: például a

fg %find parancs előtérbe fogja hozni az előzőleg háttérben futtatott find parancsot.

A jobkezelő parancsok az alábbiak:

bg [%job]

Az aktuális, illetve paraméterként megadott jobot a háttérben futtatja.

fg [%job]

A megadott, illetve paraméter hiányában az aktív jobot előtérbe hozza és ott futtatja.

jobs [-l]

Az éppen futó, jobvezérlő parancsokkal elérhető jobokat listázza ki. -l hatására a folyamatazonosítókat is kiírja.

kill [-sig][%job]

A TERM (leállító), illetve megadása esetén valamelyik másik sig szignált küldi ki a megnevezett folyamatnak. A jobazonosítóval (%job) hivatkozhatunk a leállítandó folyamatra. A -l opció hatására kilistázza a küldhető szignálok listáját. A szignál akár számmal, akár névvel megadható.

stop [%job]

A megadott, ennek hiányában pedig az aktuális jobot leállítja.

 

Tartalomjegyzék