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 afg %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. |