Hướng dẫn dùng kill -6 trong PHP

❮ Tham khảo PHP MySQLi

Ví dụ - Kiểu hướng đối tượng

Trả lại ID chuỗi cho kết nối hiện tại, sau đó ngắt kết nối:

$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

// Get thread id
$t_id = $mysqli -> thread_id;

// Kill connection
$mysqli -> kill($t_id);

$mysqli -> close();
?>


Xem ví dụ về phong cách thủ tục ở dưới cùng.


Định nghĩa và Cách sử dụng

Hàm kill () / mysqli_kill () yêu cầu máy chủ hủy chuỗi MySQL được chỉ định bởi tham số processid .


Cú pháp

Phong cách hướng đối tượng:

$mysqli -> kill(processid)

Phong cách thủ tục:

mysqli_kill(connection, processid)

Giá trị tham số

ParameterDescription
connection Required. Specifies the MySQL connection to use
processid Required. The thread ID returned from thread_id()

Chi tiết kỹ thuật

Giá trị trả lại:ĐÚNG về thành công. FALSE khi thất bại
Phiên bản PHP:5+

Thí dụ

Trả lại ID chuỗi cho kết nối hiện tại, sau đó ngắt kết nối:

$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
}

// Get thread id
$t_id=mysqli_thread_id($con);

// Kill connection
mysqli_kill($con, $t_id);

mysqli_close($con);
?>



❮ Tham khảo PHP MySQLi


Trong bài này chúng ta sẽ tìm hiểu cách dùng lệnh kill trong Linux, đây là lệnh rất hữu ích được dùng để giết một quy trình hoặc một công việc gì đó ngay lập tức.

Hướng dẫn dùng kill -6 trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không phải là hoàn hảo. Đôi khi, một số ứng dụng có thể bắt đầu hoạt động thất thường, không phản hồi hoặc tiêu tốn nhiều tài nguyên hệ thống. Ta không thể khởi động lại những ứng dụng đó, vì Linux nhận biết rằng ứng dụng đó chưa được tắt. Giải pháp duy nhất là khởi động lại hệ thống hoặc tắt nó một cách ép buộc.

1. Cú pháp lệnh killl trong Linux

Lệnh kill là một build-in shell nên nó có trên hầu hết tất cả các bản phối khác nhau của Linux. Cú pháp của nó như sau:

Lệnh kill sẽ gửi một tín hiệu đến các tiến trình hoặc nhóm tiến trình được chỉ định (PID).

Bài viết này được đăng tại [free tuts .net]

Các tín hiệu được sử dụng phổ biến nhất là:

  • 1 (HUP) - Khởi động lại tién trình.
  • 9 (KILL) - Dừng tiến trình ngay lập tức.
  • 15 (TERM) - Dừng quá trình nhẹ nhàng hơn.

Để xem danh sách tất cả các tín hiệu có sẵn trên hệ thống thì hãy chạy lệnh sau:

Các tín hiệu có thể được trình bày qua ba cách khác nhau dưới đây:

  • Sử dụng số (-1 hoặc -s 1)
  • Sử dụng SIG prefix (-SIGHUP hoặc -s SIGHUP).
  • Bỏ qua SUG prefix (-HUP hoặc -s HUP)

Vậy, chúng ta có được các cách viết như sau:

kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER

Các PID cung cấp cho lệnh kill có được xác định như sau:

  • Nếu PID lớn hơn 0, tín hiệu được gửi đến tiến trình với ID bằng PID.
  • Nếu PID bằng 0, tín hiệu được gửi đến tất cả các tiến trình trong nhóm tiến 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 tiến trình thuộc GID của shell đã gọi lệnh kill. Sử dụng lệnh ps -efj để xem ID nhóm tiến trình (GID).
  • Nếu PID bằng -1, tín hiệu được gửi đến tất cả các tiến trình có cùng UID khi người dùng gọi lệnh.
  • Nếu PID nhỏ hơn -1, tín hiệu được gửi đến tất cả các tiến trình trong nhóm tiến trình với GID bằng giá trị tuyệt đối của PID.

Người dùng thông thường có thể gửi tín hiệu đến tiến trình của riêng họ, nhưng không gửi tín hiệu đến quy trình của người dùng khác, trong khi người dùng root có thể gửi tín hiệu đến quy trình của người dùng khác.

2. Các bước thực hiện lệnh kill trong Linux

Để chấm dứt hoặc hủy một tiến trình bằng lệnh kill, trước tiên bạn cần tìm số ID của quy trình (PID). Bạn có thể thực hiện việc này bằng các lệnh khác nhau như top, ps, pidofpgrep.

Giả sử trình duyệt Firefox không phản hồi và bạn cần phải hủy tiến trình Firefox. Để tìm PID của trình duyệt, hãy sử dụng lệnh pidof:

Lệnh này sẽ in ra các PID của trình duyệt Firefox như sau:

Khi ta đã biết danh sách các PID rồi thì dễ dàng chấm dứt nó bằng lệnh kill.

kill -9 6263 6199 6142 6076

Thay vì tìm kiếm PID và sau đó kill các tiến trình thì bạn có thể kết hợp các lệnh trên thành một:

3. Sử dụng lệnh kill để reload các tiến trình

Một giải pháp khác để giải quyết là ta sẽ gửi tính hiệu HUB để các tiến trình sẽ reload lại.

Ví dụ: Để reload Nginx service thì bạn cần gửi tín hiệu đến tiến trình chính. ID quy trình của quy trình chính Nginx có thể được tìm thấy trong file nginx.pid, nó thường nằm trong thư mục /var/run.

Sử dụng lệnh cat để tìm PID chính:

Kết quả:

Sau khi bạn tìm thấy PID chính, hãy reload lại Nginx bằng cách nhập:

Lệnh trên được chạy bởi người dùng root có đặc quyền sudo.

Như vậy là chúng ta đã tìm hiểu xong cách sử dụng lệnh kill trong Linux, đây là lệnh rất hay dùng để xử lý các tiến trình / ứng dụng bị đơ hoặc nó chiếm quá nhiều tài nguyên.