[UNIX] Tìm hiểu hệ thống UNIX
Mục lục:
Linux là một hệ điều hành tuyệt vời và tiên tiến, nhưng nó không hoàn hảo. Thỉnh thoảng, một số ứng dụng có thể bắt đầu hoạt động thất thường và trở nên không phản hồi hoặc bắt đầu tiêu tốn nhiều tài nguyên hệ thống. Các ứng dụng không phản hồi không thể được khởi động lại vì quy trình ứng dụng gốc không bao giờ tắt hoàn toàn. Giải pháp duy nhất là khởi động lại hệ thống hoặc tắt tiến trình ứng dụng.
Có một số tiện ích cho phép bạn chấm dứt các quá trình sai lầm với
kill
được sử dụng phổ biến nhất.
kill
lệnh
kill
là một shell được tích hợp trong hầu hết các shell có nguồn gốc từ Bourne như Bash và Zsh. Hành vi lệnh hơi khác nhau giữa các shell và thực thi độc lập
/bin/kill
.
Sử dụng lệnh
type
để hiển thị tất cả các vị trí trên hệ thống của bạn có chứa
kill
:
type -a kill
kill is a shell builtin kill is /bin/kill
Đầu ra ở trên cho biết rằng phần tử dựng sẵn có mức độ ưu tiên so với tệp thực thi độc lập và nó được sử dụng bất cứ khi nào bạn gõ
kill
. Nếu bạn muốn sử dụng nhị phân, hãy nhập đường dẫn đầy đủ đến tệp
/bin/kill
., chúng tôi sẽ sử dụng nội dung Bash.
Cú pháp của lệnh
kill
có dạng sau:
kill…
Lệnh
kill
sẽ gửi tín hiệu đến các quy trình hoặc nhóm quy trình được chỉ định, khiến chúng hoạt động theo tín hiệu. Khi tín hiệu không được chỉ định, nó mặc định là
-15
(-TERM).
Các tín hiệu thường được sử dụng là:
-
1(HUP) - Tải lại một quy trình.9(KILL) - Giết một quá trình.15(TERM) - Duyên dáng dừng một quá trình.
Để có danh sách tất cả các tín hiệu khả dụng, hãy gọi lệnh với tùy chọn
-l
:
kill -l

Tín hiệu có thể được chỉ định theo ba cách khác nhau:
- Sử dụng số (ví dụ:
-1hoặc-s 1). Sử dụng tiền tố của SIG, (ví dụ:-SIGHUPhoặc-s SIGHUP).
Các lệnh sau tương đương với nhau:
kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER
Các PID được cung cấp cho lệnh
kill
có thể là một trong những điều sau đây:
- Nếu
PIDlớn hơn 0, tín hiệu được gửi đến tiến trình có ID bằng vớiPID. NếuPIDbằng 0, tín hiệu được gửi đến tất cả các quy trình trong nhóm quy trình hiện tại. Nói cách khác, tín hiệu được gửi đến tất cả các quá trình thuộc GID của shell đã gọi lệnhkill. Sử dụng lệnhps -efjđể xem ID nhóm quy trình (GID). NếuPIDbằng-1, tín hiệu được gửi đến tất cả các quy trình có cùng UID khi người dùng gọi lệnh. Nếu người dùng gọi là root, tín hiệu được gửi đến tất cả các quy trình ngoại trừ init và chính quá trìnhkillNếuPIDnhỏ hơn-1, tín hiệu được gửi đến tất cả các quy trình trong nhóm quy trình eq với GID bằng giá trị tuyệt đối củaPID.
Người dùng thông thường có thể gửi tín hiệu đến các quy trình của riêng họ, nhưng không gửi tín hiệu cho người dùng khác, trong khi người dùng root có thể gửi tín hiệu đến các quy trình của người dùng khác.
Chấm dứt quá trình sử dụng lệnh
kill
Để chấm dứt hoặc giết một tiến trình bằng lệnh
kill
, trước tiên bạn cần tìm số ID tiến trình (PID). Bạn có thể làm điều này bằng các lệnh khác nhau như
top
,
ps
,
pidof
và
pgrep
.
Giả sử trình duyệt Firefox đã không phản hồi và bạn cần phải hủy quy trình Firefox. Để tìm các PID trình duyệt, sử dụng lệnh
pidof
:
pidof firefox
Lệnh sẽ in ID của tất cả các quy trình Firefox:
6263 6199 6142 6076
Khi bạn biết các số tiến trình, bạn có thể chấm dứt tất cả chúng bằng cách gửi tín hiệu
TERM
:
kill -9 2551 2514 1963 1856 1771
Thay vì tìm kiếm các PID và sau đó kết thúc các tiến trình, bạn có thể kết hợp các lệnh trên thành một:
Quá trình tải lại bằng lệnh
kill
Một trường hợp sử dụng phổ biến khác cho
kill
là gửi tín hiệu
HUP
, thông báo cho các quá trình tải lại cài đặt của nó.
Ví dụ, để tải lại Nginx, bạn cần gửi tín hiệu đến quy trình chính. ID tiến trình của quy trình chính Nginx có thể được tìm thấy trong tệp
nginx.pid
, thường được đặt trong thư mục
/var/run
.
Sử dụng lệnh
cat
để tìm PID chính:
cat /var/run/nginx.pid
30251
Khi bạn tìm thấy PID chính tải lại cài đặt Nginx bằng cách nhập:
sudo kill -1 30251
Lệnh trên phải được chạy dưới quyền root hoặc người dùng có quyền sudo.
Phần kết luận
Lệnh
kill
được sử dụng để gửi tín hiệu đến các tiến trình. Tín hiệu được sử dụng thường xuyên nhất là
SIGKILL
hoặc
-9
, kết thúc các quá trình đã cho.
Vodafone là một trong những nhà khai thác lớn đầu tiên thông báo rằng họ dự định thu hẹp số hệ điều hành được sử dụng điện thoại trên mạng của mình chỉ có hai hoặc ba. Năm 2006, hãng đã chọn Symbian, Linux và Windows Mobile làm ba nền tảng để chạy điện thoại thông minh của mình trong 5 năm tới. Trong khi Android dựa trên Linux, nó không tương thích với các tiêu chuẩn được thiết lập bởi LiMo Foundation, một nhóm tạo và xuất bản các chi tiết kỹ thuật cho phần mềm trung gian cho các thiết bị Linux
[ĐọC thêm: Điện thoại Android tốt nhất cho mỗi ngân sách. Các thành viên khác của OHA bao gồm AKM Semiconductor, ARM, AsusTek Computer, Atheros Communications, Borqs, Ericsson, Garmin International, Huawei Technologies, Omron Software, Softbank Mobile, Teleca và Toshiba.
] Năm người đã bị bắt giữ vì tội phỉ báng những tuần kể từ khi các tài khoản văn bản và video của vụ bê bối lan truyền trên các diễn đàn Web phổ biến của Trung Quốc, các luật sư cho hai trong số những người bị bắt giữ nói hôm thứ Năm. từ một điện thoại di động đầu thứ năm, tuyên bố đã bị cảnh sát đưa đi trong cùng quận Phúc Châu, tỉnh Phúc Kiến, nơi các vụ bắt giữ khác xảy ra. cô con gái 25 tuổi của cô, Yan Xiaoling, và ra lệnh cho cô đi ra gặp. Người phụ nữ tìm thấy con gái mình đã chết trong b
Cảnh sát đã tổ chức một cuộc họp báo vào ngày hôm sau. đăng lại. Một quan chức từ chối bất kỳ bạo lực hay hãm hiếp nào và cho biết Yan đã chết do chảy máu do mang thai thất bại, theo hãng tin Tân Hoa Xã.
Cách sử dụng lệnh ngủ linux để tạm dừng tập lệnh bash
Ngủ là một tiện ích dòng lệnh cho phép bạn tạm dừng quá trình gọi trong một thời gian nhất định. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng lệnh ngủ Linux.







