Trong Linux, một tiến trình là một chương trình chạy trong bộ nhớ. Thông thường, máy tính của bạn đang chạy hàng trăm quy trình cùng một lúc. Nếu chúng là các quy trình hệ thống, trong Linux gọi chúng là daemon hoặc demons. Bạn sẽ thường thấy tên quy trình kết thúc bằng một ” d ” như vậy httpd , quy trình hoặc trình nền chịu trách nhiệm cho dịch vụ http.
Bước 1 Xem quy trình nào đang chạy
Chúng tôi có thể thấy tất cả các quy trình đang chạy trên hệ thống của bạn bằng cách nhập:
ps aux
Cung cấp tất cả các quy trình ( a ), người dùng ( u ) và các quy trình không được liên kết với thiết bị đầu cuối ( x ). Đây là bộ chuyển đổi yêu thích để sử dụng ps vì nó cho phép người dùng nào đã bắt đầu quá trình và sử dụng bao nhiêu tài nguyên.
Lưu ý rằng mỗi quá trình được liệt kê cho chúng ta thấy trong số nhiều điều.
người sử dụng
PID (định danh quy trình)
%CPU
% MEM (bộ nhớ)
Nếu chúng ta chỉ muốn xem tất cả các quy trình với thông tin hạn chế, chúng ta có thể gõ:
ps -A
Bạn có thể thấy tất cả các quy trình đang chạy, nhưng không có thông tin như phần trăm CPU và phần trăm bộ nhớ. Lưu ý rằng airbase-ng được liệt kê với PID 5143 và quá trình cuối cùng là lệnh ps .
Số tiến trình, hoặc PID, rất quan trọng để làm việc trong Linux, vì bạn thường cần PID để quản lý một quy trình.
Bước 2 Lệnh
Tương tự như lệnh ps là lệnh top, ngoại trừ đỉnh đó chỉ hiển thị cho chúng ta các quy trình hàng đầu. Nói cách khác, nó chỉ cho chúng ta thấy các quy trình sử dụng nhiều tài nguyên nhất và nó năng động, nghĩa là nó mang lại cho chúng ta cái nhìn thời gian thực về các quy trình của chúng ta. Đơn giản chỉ cần gõ:
top
Như bạn có thể thấy, các quy trình được liệt kê theo thứ tự theo số lượng tài nguyên hệ thống mà chúng đang sử dụng và danh sách liên tục thay đổi khi các quy trình sử dụng nhiều hoặc ít tài nguyên.
Bước 3 Quy trình
Đôi khi chúng ta sẽ cần dừng các quá trình trong Linux. Lệnh chúng ta sử dụng là kill . Đừng lo lắng, nó có vẻ bạo lực hơn thực tế. Lệnh này đặc biệt quan trọng nếu chúng ta có một quy trình tiếp tục chạy và sử dụng tài nguyên hệ thống, ngay cả sau khi chúng ta đã cố gắng ngăn chặn nó. Các quy trình này thường được gọi là các quy trình “zombie”.
Chúng ta có thể giết một tiến trình bằng cách gõ kill và ID tiến trình hoặc PID. Vì vậy, để tiêu diệt quá trình airbase-ng của tôi, tôi có thể chỉ cần gõ:
kill 5143
Chúng ta có thể thấy trong ảnh chụp màn hình ở trên rằng quy trình airbase-ng của tôi không còn chạy nữa.
Có nhiều loại “giết chết”. Lệnh kill mặc định (khi chúng ta sử dụng lệnh kill mà không có bất kỳ công tắc nào) là kill 15 hoặc tín hiệu kết thúc. Nó cho phép quá trình dọn dẹp và nhẹ nhàng chấm dứt quá trình của nó.
Đôi khi, các tiến trình vẫn từ chối chấm dứt ngay cả khi được gửi lệnh kill mặc định. Trong trường hợp đó, chúng ta phải nghiêm túc hơn và sử dụng công cụ chấm dứt tuyệt đối để thực hiện công việc. Đây là kill -9 , không có tù nhân và kết thúc công việc mà không cho phép nó nói lời tạm biệt và buộc hạt nhân phải chấm dứt ngay lập tức.
Bước 4 Thay đổi ưu tiên quy trình
Mọi quy trình trong Linux đều được ưu tiên. Như bạn có thể đoán, số ưu tiên này xác định tầm quan trọng của quy trình và vị trí của nó phù hợp với việc sử dụng tài nguyên hệ thống. Các số ưu tiên này nằm trong khoảng từ 0 đến 127 với 0 là mức ưu tiên cao nhất và 127 là mức thấp nhất.
Là người dùng root hoặc quản trị viên hệ thống, chúng tôi không thể xác định trực tiếp mức độ ưu tiên của quy trình, đó là công việc của kernel, nhưng chúng tôi có thể gợi ý cho kernel rằng chúng tôi muốn một quy trình chạy với mức độ ưu tiên cao hơn. Chúng ta có thể làm điều này thông qua các lệnh nice . Các giá trị đẹp nằm trong khoảng từ -20 đến +19 với các giá trị thấp hơn biểu thị mức độ ưu tiên cao hơn.
Chúng ta có thể đặt giá trị đẹp của một tiến trình bằng cách sử dụng lệnh nice , công tắc -n, value của nice và sau đó là lệnh chúng ta muốn chạy. Vì vậy, nếu chúng tôi muốn bắt đầu quy trình căn cứ airbase-ng, với mức độ ưu tiên cao nhất, có thể nhập:
- nice -n -20 airbase-ng -a 00:09:5B:6F:64:1E –essid “Elroy” -c 11 mon0
Sau đó, nếu chúng ta cảm thấy rằng chúng tôi muốn giảm ưu tiên của lệnh airbase-ng , chúng ta có thể renice nó. Lệnh renice yêu cầu đơn giản là lệnh renice , priority level và không giống như lệnh nice, nó chỉ thực hiện quá trình PID , chẳng hạn như:
renice 15 5143
Chúng ta có thể thấy rằng bằng cách đổi mới lệnh airbase-ng, chúng ta đã giảm mức ưu tiên của nó từ -20 (cao nhất) xuống 15 (tương đối thấp).
Bước 5 Đẩy một tiến trình vào nền
Bạn có thể nhận thấy khi chạy một số hướng dẫn hack một lệnh từ thiết bị đầu cuối shell, quá trình sẽ kiểm soát lớp vỏ đó cho đến khi hoàn thành. Nếu đó là một quá trình đang diễn ra, tương tự như , nó sẽ duy trì quyề airbase-ng thời điểm đó,
Nếu chúng ta vẫn muốn sử dụng shell đó, chúng ta có thể gửi quá trình đó vào nền và sau đó lấy lại quyền kiểm soát shell. Để bắt đầu một lệnh trong nền, chúng ta chỉ cần kết thúc lệnh bằng & dấu và. Vì vậy, để có được airbase-ng chạy trong nền, chúng ta chỉ cần gõ:
- airbase-ng -a 00:09:5B:6F:64:1E –essid “Elroy” -c 11 mon0 &
Nếu chúng ta muốn đưa một công việc nền hiển thị, chúng ta chỉ cần gõ fg . Để gửi một quá trình đến nền, chúng ta có thể gõ Control Z để dừng nó và sau đó sử dụng lệnh bg với PID để gửi nó xuống nền.