Khơng giống với các hệ điều hành non-UNIX chỉ có hai chế độ cơ bản (on và off). Các hệ điều hành UNIX, bao gồm cả Linux có nhiều mức thực thi khác nhau ví dụ như mức “duy trì” (maitainance) hoặc mức “đa người dùng” (multi-user), ... Các mức thực thi được đánh số từ 0 đến 6.
Danh sách 1: Các mức thực thi Linux
Runlevel 0 tắt máy an toàn, Runlevel 6 khởi động lại máy an toàn Runlevel 1 là chế độ đơn người dùng
Runlevel 2 là chế độ đa người dùng, nhưng không khởi động NFS Runlevel 3 là chế độ đa người dùng đầy đủ
Runlevel 4 không được định nghĩa và thường không sử dụng
Runlevel 5 giống với runlevel 3 nhưng chạy trình Quản lý hiển thị đồ họa
Cả init và telinit để được dùng để chuyển đổi từ một chế độ thực thi này sang chế
độ thực thi khác. Nên nhớ rằng, init là chương trình khởi tạo đầu tiên được thực hiện
sau khi nhân hệ điều hành được khởi tạo tại thời điểm khởi động. PID đối với init
Danh sách 2: PID đối với init luôn bằng 1
[root@nasaspc /proc]# ps uax |grep init
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 1368 592 ? S 20:17 0:04 init [3]
Tại mỗi mức thực thi, hệ thống sẽ dừng hoặc khởi động một tập các dịch vụ nhất định. Các file quản lý những dịch vụ này được lưu giữ trong /etc/rc/d/init.d. Thư
mục này chứa gần như tất cả các file quản lý dịch vụ mà hệ thống có thể chạy. Các dịch vụ khi chạy có thể được gọi là daemon (dịch vụ nền).
Danh sách 3: Danh sách các dịch vụ chính trong /etc/rc.d/init.d/
ls /etc/rc.d/init.d/
anacron cups identd kadmin krb5kdc mcserv Nscd random smb xfs apmd dhcpd innd kdcrotate kudzu named Ntpd rawdevices snmpd xinetd arpwatch functions ipchains keytable ldap netfs pcmcia rhnsd squid
atd gpm iptables killall linuxconf network portmp rwhod sshd autofs halt irda kprop lpd nfs pgsql sendmail syslog crond httpd isdn Krb524 marsrv nfslock pppoe single tux
Chú ý: Cũng có thể dừng hoặc khởi động bằng tay các dịch vụ daemon trong
/etc/rc.d/init.d bằng cách đưa ra các tham số tương ứng. Ví dụ, nếu bạn muốn khởi
động lại dịch vụ web mặc định, bạn sẽ phải gõ:
/etc/rc.d/init.d/httpd restart hoặc service httpd restart
Khi làm việc với các mức thực thi, bạn sẽ cung cấp một tập các chương trình được
đinh nghĩa trước nhất định để dừng chạy. Nếu bạn muốn ở mức thực thi 2 (runlevel
/sbin/init 2
Đến lượt nó sẽ bắt init đọc file cấu hình /etc/inittab để tìm ra điều gì sẽ xảy ra ở
mức thực thi này.
Trong trường hợp này (giả sử chúng ta đang chuyển đổi sang mức thực thi 2) các
dòng sau trong file inittab sẽ được thực hiện:
l2:wait:/etc/rc.d/rc 2
Nếu bạn tìm kiếm trong file /etc/inittab câu lệnh “/etc/rc.d/rc N” sẽ khởi động tất
cả các dịch vụ trong /etc/rc.d/rcN.d bắt đầu với S và sẽ dừng (stop) dịch vụ bắt đầu với K. Các dịch vụ này là các biểu tượng kết nối trỏ tới các script trong /ect/rc.d/init.d
Nếu bạn khơng muốn một tiến trình thực hiện trong một mức thực thi N cho trước, bạn có thể xoá biểu tượng kết nối (symlink) trong /etc/rc.d/rN.d bắt đầu bởi K.