- (L u hành n i b ) à N ng – 2004. - G i th b ng sendmail ...5. - Xoá th m c r ng ...10. - Các l nh h th ng ...11. - <year>...12. - 25 Bài 8 QU N LÝ TI N TRÌNH 27 8.1. - T o m t ti n trình - l nh fork ...27. - D ng m t ti n trình ...27. - Giao ti p gi a các ti n trình ...28. - Liên l c gi a hai ti n trình ...29. - L p trình a ti n trình...30. - Liên l c gi a ti n trình cha và ti n trình con ...31. - G i th b ng sendmail. - Xoá th m c r ng. - Các l nh h th ng 3.3.1. - <^d>. - Xem danh sách các ti n trình ang ho t ng trên h th ng.. - [user12@linux user12]$ kill 4703 //H y b ti n trình mc có s hi u 4703. - <i>. - <I>. - <a>. - <A>. - <o>. - <O>. - <D>. - <x>. - <C>. - <R>. - <J>. - <e>. - <w>. - <$>. - <l>. - <k>. - <j>. - <h>. - <;>. - <H>. - <L>. - <M>. - <G>. - <^>. - <p>. - <P>. - x<p>. - <n>. - Bài 8 QU N LÝ TI N TRÌNH 8.1. - Ti n trình là m t môi tr ng th c hi n, bao g m m t phân n l nh và m t phân n d li u. - Trên h u hành Linux, ti n trình c nh n bi t thông qua s hi u c a ti n trình, i là pid. - tr v giá tr int là pid c a ti n trình hi n t i*/. - int getppid() /*tr v giá tr int là pid c a ti n trình cha c a ti n trình hi n t i. - tr v giá tr int là s hi u c a nhóm ti n trình*/. - int setpgrp() /*tr v giá tr int là s hi u nhóm ti n trình m i t o ra*/. - T o m t ti n trình - l nh fork. - int fork() t o ra m t ti n trình con. - Giá tr tr l i là 0 cho ti n trình con và d u hi u pid cho ti n trình cha. - Giá tr s là -1 n u không t o c ti n trình m i.. - Theo nguyên t c c b n c a h th ng, ti n trình con và cha s có cùng n mã.. - n d li u c a ti n trình m i là m t b n sao chép chính xác n d li u c a ti n trình cha. - Tuy nhiên ti n trình con v n khác ti n trình cha pid, th i gian x lý,. - D ng m t ti n trình. - nh kill c a Shell có th dùng ch m d t ho t ng c a m t ti n trình. - ví d nh khi mu n d ng ti n trình 234 ta dùng l nh: kill 234. - là d u hi u nh n bi t c a m t ti n trình.. - h ng tín hi u giao ti p ti n trình.. - Giao ti p gi a các ti n trình. - Vi c giao ti p gi a các ti n trình c th c hi n thông qua các tín hi u chu n a h th ng. - Tín hi u là m t s ng t quãng logic c g i n các ti n trình b i h th ng thông báo cho chúng v nh ng s vi c không bình th ng trong môi tr ng ho t ng c a chúng (nh l i b nh , l i vào ra). - Nó c ng cho phép các ti n trình liên c v i nhau. - Ti n trình có th c b qua: Ví d ch ng trình có th b qua s ng t quãng c a ng i s d ng h th ng ( ó là s b qua khi m t ti n trình ang. - Ti n trình có th c th c hi n: Trong tr ng h p này, khi nh n c 1 tina sti u, vi c th c hi n 1 ti n trình c chuy n v m t quy trình do ng i s. - L i có th c ti n trình tr v sau khi nh n c tín hi u này.. - SIGHUP Tín hi u này c phát n các ti n trình vào lúc cu i khi mà nó t ng t.. - Nó c ng c phát n m i ti n trình có ti n trình chính t ng t.. - SIGINT Tín hi u này c phát n các ti n trình khi ta ra l nh ng t.. - SIGTRAP Tín hi u c phát ra sau m i l nh trong tr ng h p ti n trình có s d ng nh ptrace().. - SIGKILL Trang b k t thúc ti n trình. - SYSGEGV c phát ra khi g p l i trên phân n s truy c p d li u bên ngoài phân n d li u c c p phát cho ti n trình.. - SIGALRM Phát ra khi ng h c a m t ti n trình ng ng l i. - c phát ra khi m t ti n trình k t thúc bình th ng. - C ng có th dùng ng 1 h th ng k t thúc t t c các ti n trình ho t ng.. - Liên l c gi a hai ti n trình. - m t ch ng trình n gi n d i ây s d ng các l nh phát và nh n tín hi u, sau ó giúp liên l c gi a hai ti n trình.. - i dung c a ví d là s liên l c gi a m t ti n trình cha và m t ti n trình con thông qua các tín hi u ã c trình bày ph n tr c.. - Trong ví d trên, ti n trình con có s d ng hàm signal(SIGUSR1, fils_atc). - Hàm này có tác d ng m i khi ti n trình con nh n c tín hi u SIGUSR1 thì hàm fils_atc(). - Nh v y ví d trên m t ti n trình con ã c t o ra nh ng nó l i không mu n ti p t c t n t i. - Do v y sau khi t m d ng l i sleep(3), ti n trình cha ã g i n cho ti n trình con m t tín hi u là SIGUSR1 b ng l nh:. - ti n trình con, tín hi u SIGUSR1 ã c gán v i hàm fils_atc. - Hàm này ra m t thông báo báo hi u ti n trình này s p ch t r i t g i n chính mình (ti n trình con) tín hi u SIGINT, tín hi u ng t ti n trình. - Và ti n trình con ã ch t.. - M t tín hi u có th b b qua, k t thúc m t ti n trình ho c b ch n l i. - ó là lý do chính a ra các tín hi u không thích ng c ti n hành liên l c gi a các ti n trình. - Ví d vi c nh n m t tín hi u trong khi ti n trình ang i m t ki n (mà có th n khi s d ng các l nh open. - Ngoài vi c liên l c tr c ti p nh ví d trên, còn cho phép m t ph ng pháp liên c gi a các ti n trình khác, ó là liên l c qua ". - L p trình a ti n trình 8.2.1. - ng d n là m t c ch c b n liên l c gián ti p gi a các ti n trình. - Các ng d n ch mang tính ch t t m th i, ch t n t i trong th i gian th c hi n c a t ti n trình t o ra nó.. - Nhi u ti n trình có th vi t và c trên cùng m t ng d n. - Tuy nhiên, không có m t ch nào phân bi t thông tin cho các ti n trình u ra.. - Các ti n trình liên l c qua ng d n ph i có m i quan h h hàng và các ng d n n i ph i c m tr c khi t o ra các ti n trình con.. - Liên l c gi a ti n trình cha và ti n trình con. - Trong ví d d i ây, m t ti n trình t o ra m t ng d n, t o ra m t ti n trình con, vi t m t v n b n vào ng d n.Ti n trình con th a h ng ng d n và các ký hi u mô t c a ng d n, th c hi n c trong ng d n:. - Chú ý r ng, ti n trình con c trong ng d n mà không vi t ó nên nó b t u ng cách óng ph n vi t fd[1] ti t ki m các tín hi u mô t c a t h p. - T ng t , vì ti n trình cha ch s d ng ph n vi t nên nó óng ph n c l i (fd[0. - Sau ó ti n trình cha vi t vào ng d n 6 ký t và ti n trình con ã c chúng.. - DiG 9.2.1 <<>>
Xem thử không khả dụng, vui lòng xem tại trang nguồn hoặc xem
Tóm tắt