rilpoint_mw113

Linux:Szignál kezelés

(Változatok közti eltérés)
(Szignál kezelés)
(Szignál kezelés)
58. sor: 58. sor:
</code>
</code>
</box>
</box>
-
Példa a szignál küldésére és a NEV változó "Lajos"-ra változtatására egy másik putty-ban (innentől a másik ablakban futó program a Lajos nevet fogja másodpercenként a kimenetre írni): <megoldas>
+
Példa a szignál küldésére és a NEV változó "Lajos"-ra változtatására egy másik putty-ban (innentől a másik ablakban futó program a Lajos nevet fogja másodpercenként a kimenetre írni):
 +
<box>
 +
<code lang="bash">
 +
feri@aries:~/signalDemo$ echo "NEV=Lajos" >parameters.txt
 +
feri@aries:~/signalDemo$ kill -HUP 21703
 +
</code>
 +
</box>
 +
A program: <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
74. sor: 81. sor:
</code>
</code>
</megoldas>
</megoldas>
-
 
-
<box>
 
-
<code lang="bash">
 
-
feri@aries:~/signalDemo$ echo "NEV=Lajos" >parameters.txt
 
-
feri@aries:~/signalDemo$ kill -HUP 21703
 
-
</code>
 
-
</box>
 

A lap 2010. április 22., 21:39-kori változata

Szignál kezelés

Kivonat: trap
  • (Bevezető gyakorlat) Készíts shell scriptet, mely másodpercenként kiírja a saját processID-jét, s mindezt legfeljebb 1000-szer teszi meg! (Az aktuális processz ID-je a $$ shell változóban van).
  • Készíts egy shell scriptet, mely abban az esetben, ha azt a kill paranccsal le akarják állítani, még törli az átmeneti fájljait! Ahhoz, hogy ki tudjuk próbálni a programot, az másodpercenként írja ki az ő process ID-jét! (Kill szignált küldeni a kill <processID> paranccsal kell, ehhez érdemes egy újabb putty-t indítva még egyszer bejelentkezni a szerverbe.

Példa a futtatásra:

feri@aries:~$ ls /tmp/at*
/tmp/atmeneti-21042.tmp
feri@aries:~$ kill 21042
feri@aries:~$ ls /tmp/at*
ls: /tmp/at*: Nincs ilyen fájl vagy könyvtár
  • Készíts shell scriptet sigtest néven, mely az előző feladathoz hasonlóan folyamatosan fut, másodpercenként írja ki a processID-jét és a NEV változó tartalmát. A NEV változó értékét a scriptnek a programmal azonos könyvtárban levő parameters.conf fájlból olvassa be a futás megkezdésekor! A scriptnek HUP szignált küldve az olvassa újra a parameters.conf fájlban levő változó értékét, és a másodpercenkénti kiírásban onnantól kezdve használja azt anélkül, hogy a programot leállítanánk! A parameters.conf tartalma a következő legyen:
NEV="Koczka Ferenc"

Példa a sigtest futására az egyik putty ablakban:

feri@aries:~/signalDemo$ ./sigtest
21703: 1 Koczka Ferenc
21703: 2 Koczka Ferenc
21703: 3 Koczka Ferenc
21703: 4 Koczka Ferenc
21703: 5 Koczka Ferenc
21703: 6 Lajos
21703: 7 Lajos

Példa a szignál küldésére és a NEV változó "Lajos"-ra változtatására egy másik putty-ban (innentől a másik ablakban futó program a Lajos nevet fogja másodpercenként a kimenetre írni):

feri@aries:~/signalDemo$ echo "NEV=Lajos" >parameters.txt
feri@aries:~/signalDemo$ kill -HUP 21703

A program:

Skin by RIL Partner