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> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- |
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: