Chương 4. Các kỹ thuật lập trình nâng cao<br />
<br />
4.1. Tiến trình (process) và cơ chế sử dụng signal<br />
4.2. Lập trình xử lý đa tiến trình<br />
4.3. Giới thiệu về luồng<br />
4.4. Lập trình đa luồng<br />
<br />
Lập trình hệ nhúng<br />
<br />
70<br />
<br />
4.1. Tiến trình và cơ chế sử dụng signal<br />
<br />
§ Khái niệm tiến trình<br />
§ Cơ chế sử dụng signal<br />
<br />
Lập trình hệ nhúng<br />
<br />
71<br />
<br />
Khái niệm tiến trình<br />
§ Tiến trình được tạo ra khi ta thực thi một chương<br />
trình<br />
§ Đa tiến trình cho phép nhiều chương trình cùng<br />
thực thi và chia sẻ dữ liệu với nhau<br />
§ Các tham số của một tiến trình<br />
• PID (Process ID): số hiệu tiến trình<br />
• PPID (Parent Process ID): số hiệu tiến trình cha<br />
• Command: câu lệnh được gọi để thực thi tiến<br />
trình<br />
<br />
ls –e –o pid,ppid,command<br />
Lập trình hệ nhúng<br />
<br />
72<br />
<br />
PID, PPID<br />
§Lấy về PID: sử dụng hàm getpid()<br />
§Lấy về PPID: sử dụng hàm getppid()<br />
§Hàm getpid() và getppid() trả giá trị kiểu pid_t (bản<br />
chất là kiểu int)<br />
<br />
Lập trình hệ nhúng<br />
<br />
73<br />
<br />
Dừng tiến trình<br />
§ Cách 1: Sử dụng tổ hợp phím Ctrl + C<br />
§ Cách 2: Sử dụng shell command<br />
<br />
kill PID<br />
<br />
Lập trình hệ nhúng<br />
<br />
74<br />
<br />