GIÁO TRÌNH UNIX - Trang 62

Copyright(c) by Galaxy CD – http://www.galaxycd.com

61

Baøi 12 Tín hieäu vaø ñoàng boä

Noäi dung: Caùc tín hieäu cuûa heä thoáng, caùch duøng tín hieäu ñeå ñieàu khieån vaø ñoàng boä caùc

tieán trình.


12.1 Quaûn lyù caùc tín hieäu:

12.1.1 Caùc tín hieäu:
Trong khi thöïc hieän moät shell_script, caùc tín hieäu sau coù theå phaùt sinh:

signal

0

ra khoûi shell (exit of the shell)

signal

1

caét lieân laïc vôùi terminal (disconnection)

signal

2

Ngaét (thí duï phím DEL)

signal

3

Quit (Ctrl |)

signal

9

Dieät tieán trình (Kill process)

signal

10

Keát thuùc logic moät tieán trình

Trong moät chöông trình öùng duïng, baèng caùch duøng leänh trap, ta coù theå ñònh nghóa vieäc
caàn xöû lyù khi moät tín hieäu phaùt sinh. Leänh naøy cho pheùp gaùn moät coâng vieäc xöû lyù cho
baát cöù moät tín hieäu naøo.
12.1.2 Laäp trình phím DEL
Leänh trap khoâng ñoái lieät keâ danh saùch caùc tính hieäu vaø caùc vieäc xöû lyù töông öùng.

$

trap

Cuù phaùp gaùn moät coâng vieäc xöû lyù cho phím DEL:

$

trap ‘caùc leänh’

2

Xoùa boû taùc duïng phím DEL:

$

trap ‘’

2

Gaùn chöùc naêng ngaàm ñònh (default) cho phím DEL:

$

trap 2

Thí duï:

shell_script uncount hieån thò 5 4 3 2 1 trong caùc khoaûng thôøi gian 5 giaây, neáu

ta goõ phím DEL, hieån thò chöõ soá tieáp.

$

/Icat/ i

uncount

trap ‘continue’

2

for i in 5 4 3 2 1

do

echo $i

sleep 5

done


12.2 Quaûn lyù caùc tieán trình

12.2.1 Chaïy ngaàm (background) moät tieán trình
Moät tieán trình seõ chaïy ngaàmneáu ta theâm kyù töï & vaøo sau teân noù khi goïi.
Soá cuûa tieán trình (PID) seõ ñöôïc hieån thò treân maøn hình.

Thí duï:

chaïy shell_script uncount ngaàm:

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.