Programma's uitvoeren: Multitasking en SessiesOm een programma uit te voeren, typ je net als onder DOS de naam ervan in.
Als de directory (Sectie )
waarin het programma is opgeslagen in het PATH is opgenomen (Sectie ), zal het programma
worden opgestart. Uitzondering: in tegenstelling tot DOS, zal een programma
in de huidige directory niet worden uitgevoerd, tenzij de directory in het
PATH is opgenomen. Je kunt hieraan ontsnappen: als prog je programma
is, typ dan ./prog.Zo ziet een typische commandoregel eruit:$ commando [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< invoer] [> uitvoer]waar de -s1, ..., -sn staan voor programma-switches.
par1, ..., parn zijn de programma parameters. Je kunt
verscheidene commando's op de commandoregel aanroepen:$ commando-1 ; commando-2 ; ... ; commando-nDat is alles over het draaien van programma's, maar het is eenvoudig een stap
verder te gaan. Eén van de belangrijkste redenen om Linux te gebruiken
is dat het een multitasking os is--- het kan verscheidene programma's
tegelijkertijd draaien (van nu af aan, processen).
Je kunt processen in de achtergrond opstarten en gewoon door blijven werken.
Bovendien staat Linux toe dat je meerdere sessies hebt lopen:
het is alsof je veel computers tegelijk aan het werk zet! Druk op <ALT-F1> ... <ALT-F6> om naar sessie 1..6 onder de
virtuele console over te schakelen
Typ su - <loginnaam> voor het starten van een
nieuwe sessie onder dezelfde v.c. zonder de huidige v.c. te verlaten.
Voorbeeld: su - root. Dit komt bijvoorbeeld van pas als je een
taak uit moet voeren waarvoor alleen de root-gebruiker permissie heeft.
Typ voor het beëindigen van een sessie exit.
Als er gestopte jobs zijn (zie verderop), krijg je een waarschuwing.
Voeg een ampersand '&' aan het einde van de
commandoregel toe voor het in de achtergrond opstarten van een proces:
$ prognaam [-switches] [parameters] [< invoer] [> uitvoer] &
[1] 123
de shell identificeert het proces met een jobnummer (b.v. [1]; zie
hieronder), en met een PID (Proces Identificatie Nummer; 123 in ons voorbeeld).
Typ ps ax om te bekijken hoeveel processen er zijn.
Hiermee krijg je als uitvoer een lijst met de thans draaiende processen.
Typ kill <PID> voor het killen (beëindigen)
van een proces. Wellicht dat je het eens nodig hebt als je niet weet hoe
je een proces op de juiste wijze moet laten eindigen...
Tenzij je root bent, kun je andermans processen niet killen.
Soms kan een proces alleen worden beëindigd met kill -SIGKILL
<PID>.
Bovendien laat de shell je een proces stoppen of tijdelijk uitstellen,
een proces naar de achtergrond sturen, en een proces vanuit de achtergrond
naar de voorgrond brengen. In deze context, worden processen ``jobs'' genoemd.
Typ jobs om te zien hoeveel jobs er zijn. Hier worden de
jobs geïndentificeerd door een jobnummer, niet via een PID.
Druk op <CTRL-C> om een in de voorgrond draaiend proces te
stoppen (dit werkt niet altijd).
Druk op <CTRL-Z> om een in de voorgrond draaiend proces uit te
stellen (idem).
Typ bg <%job> voor een uitgesteld proces naar de
achtergrond te sturen (het wordt een job).
Voor het naar de voorgrond brengen van een job typ je
fg <%job>. Voor het naar de voorgrond brengen van de laatste
job die naar de achtergrond is gestuurd, typ je eenvoudigweg fg.
Typ voor het killen van een job kill <%job>
waarbij <job> gelijk kan zijn aan 1, 2, 3,...
Met deze commando's kun je tegelijkertijd een disk formatteren, een boel
bestanden zippen, een programma compileren en een archief uitpakken en nog
steeds de prompt tot je beschikking hebben. Probeer dit eens met Windows,
enkel om het verschil in performance te zien (als het niet crasht, uiteraard).