Quản lý các tiến trình từ dòng lệnh. Trình quản lý tác vụ Windows XP - Quy trình tiêu chuẩn

Bạn nghĩ sao, phòng phẫu thuật hệ thống Linux có thể tự động chăm sóc bản thân? Khi mọi thứ hoạt động tốt hoặc bạn không cần bất kỳ tính năng phi tiêu chuẩn nào, vâng. Nhưng đôi khi sự can thiệp của bạn vào công việc của cô ấy có thể là cần thiết.

Trong Linux cho mỗi chương trình riêng biệt, khi nó bắt đầu, một tiến trình được tạo ra. Việc bạn tự chạy chương trình theo cách thủ công hay hệ thống hoặc kernel thực hiện việc đó không thành vấn đề. Ví dụ: chương trình khởi tạo, chạy ngay sau khi kernel được tải, cũng có quy trình riêng với ID 0. Các quy trình trong Linux có thể được mô tả như các thùng chứa trong đó tất cả thông tin về trạng thái và việc thực thi chương trình được lưu trữ. Nếu chương trình hoạt động tốt thì mọi thứ đều ổn, nhưng nếu nó bị treo hoặc bạn cần điều chỉnh hoạt động của nó, bạn có thể cần quản lý quy trình trong Linux.

Bài viết này sẽ đề cập đến một chủ đề rộng và chúng ta sẽ xem xét các khả năng sau:

  • Xem tiến trình đang chạy
  • Xem thông tin quy trình
  • Tìm tiến trình trong Linux
  • Thay đổi mức độ ưu tiên của quy trình
  • Chấm dứt quá trình
  • Giới hạn bộ nhớ có sẵn cho một tiến trình

Tôi không thể không đưa những điểm đầu tiên vào bài viết, nhưng chúng rất đơn giản và chúng tôi sẽ không đi sâu vào chi tiết. Nhưng mọi thứ khác có vẻ phức tạp và được mô tả không đầy đủ.

Một quá trình là gì?

Hãy bắt đầu bằng cách hiểu các điều khoản. Về cơ bản, một quy trình là mọi chương trình. Như tôi đã nói, một quy trình riêng biệt được tạo cho mỗi chương trình được khởi chạy. Là một phần của quy trình, chương trình được phân bổ thời gian CPU, RAM và các tài nguyên hệ thống khác. Mỗi quy trình có mã định danh riêng, ID tiến trình hoặc đơn giản là PID và các quy trình Linux thường được chúng xác định nhiều nhất. PID không được xác định một cách ngẫu nhiên, như tôi đã nói, chương trình khởi tạo nhận được PID 1 và mỗi lần tiếp theo chương trình đang chạy- một lần nữa. Như vậy, PID của chương trình người dùng đạt tới vài nghìn.

Trên thực tế, các quy trình của Linux không trừu tượng như bạn thấy hiện nay. Bạn có thể thử cảm nhận chúng. Mở của bạn quản lý tập tin, đi tới thư mục gốc, sau đó mở thư mục /proc. Bạn có thấy một loạt các con số ở đây không? Vì vậy, đây là tất cả - PID của tất cả các tiến trình đang chạy. Mỗi thư mục này chứa tất cả thông tin về quy trình.

Ví dụ: hãy xem thư mục của quy trình 1. Thư mục chứa các thư mục con khác và nhiều tệp. Tệp cmdline chứa thông tin về lệnh khởi chạy quy trình:

mèo /proc/1/cmdline

/usr/lib/systemd/systemd

Vì tôi sử dụng hệ thống khởi tạo Systemd nên quy trình đầu tiên sẽ được khởi chạy cho nó. Bạn có thể làm mọi thứ với thư mục /proc. Nhưng điều này rất bất tiện, đặc biệt khi xét đến số lượng tiến trình đang chạy trong hệ thống. Vì vậy, để thực hiện những nhiệm vụ cần thiết, cần có tiện ích đặc biệt. Hãy chuyển sang xem xét các tiện ích cho phép bạn triển khai quản lý quy trình trong Linux.

Quản lý tiến trình trong Linux

Linux có rất nhiều tiện ích để giải quyết Các nhiệm vụ khác nhau về quản lý quy trình. Chúng bao gồm các giải pháp đa chức năng như htop, top, cũng như tiện ích đơn giản, ví dụ: ps, kill, killall, who, v.v. Tôi sẽ không đề cập đến trong bài viết này tiện ích đồ họa, và tôi cũng sẽ không xem xét hàng đầu. Thứ nhất là vì nó quá đơn giản, thứ hai là vì htop tốt hơn. Chúng tôi sẽ tập trung làm việc với chương trình htop và các chương trình tương tự của nó dưới dạng các tiện ích kiểu GNU, một tiện ích - một chức năng.

Hãy cài đặt htop nếu bạn chưa cài đặt nó. Trong Ubuntu việc này được thực hiện như thế này:

sudo apt cài đặt htop

Trên các bản phân phối khác, bạn chỉ cần sử dụng trình quản lý gói của mình. Tên gói giống nhau.

Xem các tiến trình đang chạy

Cái này rất nhiệm vụ đơn giản, và nó thật dễ dàng để giải quyết. Có rất nhiều tiện ích cho việc này, từ ps thông thường đến top tương tác nâng cao hơn, htop, v.v.

Sau khi mở htop, chúng ta sẽ thấy ngay danh sách các tiến trình đang chạy. Tất nhiên, không phải tất cả các quy trình Linux đều được hiển thị ở đây, có rất nhiều quy trình trong hệ thống, bạn đã biết rằng tất cả chúng sẽ không vừa trên một màn hình. Theo mặc định, các tiến trình đang chạy với tư cách người dùng của bạn sẽ được hiển thị:


Bạn có thể xem các thông tin sau về quy trình:

  • PID- mã định danh quá trình
  • NGƯỜI DÙNG— người dùng mà quy trình được khởi chạy
  • PRI— ưu tiên tiến trình linux ở cấp kernel (thường là NI+20)
  • NI— mức độ ưu tiên thực hiện quy trình từ -20 đến 19
  • S- trạng thái tiến trình
  • CPU- Tài nguyên CPU được sử dụng
  • MEM- bộ nhớ đã sử dụng
  • THỜI GIAN- thời gian chạy tiến trình

Bạn có thể thêm vào màn hình Tùy chọn bổ sung, nhưng đây là những cái chính. Bạn có thể thêm tham số bằng menu Cài đặt. Mọi thứ ở đó rất đơn giản, hãy đọc các mẹo và làm theo hướng dẫn. Ví dụ: tham số PPID được thêm vào:


Một tính năng rất quan trọng của chương trình là bạn có thể sắp xếp các tiến trình trong Linux theo tham số cần thiết. Chỉ cần nhấp vào tên của tham số, nó sẽ nổi bật màu xanh lục và quá trình sắp xếp sẽ được thực hiện. Ví dụ: nếu bạn muốn xem thứ tự các quy trình được khởi chạy, hãy sắp xếp theo PID:


Ngoài ra còn có cơ hội thú vị sắp xếp các tiến trình dưới dạng cây. Bạn sẽ có thể xem quá trình nào đã bắt đầu một quá trình cụ thể. Để hiển thị cây nhấn F5:


Bạn có thể thực hiện hầu hết các hành động tương tự bằng chương trình ps. Chỉ ở đây không có chế độ tương tác thuận tiện như vậy. Mọi thứ được thực hiện bằng cách sử dụng các tùy chọn.


Hãy xem xét các tùy chọn chính mà chúng tôi sẽ sử dụng:

  • -e- hiển thị thông tin về tất cả các quy trình
  • -Một— hiển thị thông tin về tất cả các quy trình được yêu cầu thường xuyên nhất
  • -t- chỉ hiển thị các quy trình từ thiết bị đầu cuối này
  • -P- chỉ hiển thị thông tin về quy trình được chỉ định
  • -u- chỉ hiển thị các quy trình của một người dùng cụ thể

Nói tóm lại, để xem tất cả hoạt động khoảnh khắc này các quy trình trong Linux, sự kết hợp của các tùy chọn phụ trợ được sử dụng:

Chương trình hiển thị tất cả các thông số giống nhau, chỉ khác là không có giao diện tương tác. Bạn nghĩ rằng không thể sắp xếp các quy trình ở đây, nhưng bạn đã nhầm, điều đó là có thể. Có một tùy chọn sắp xếp cho việc này. Bạn có thể sắp xếp chúng theo bất kỳ trường nào, ví dụ:

ps aux --sort=%mem

Danh sách sẽ được sắp xếp thành thứ tự ngược lại, ở dưới cùng các giá trị lớn hơn, ở trên cùng - ít hơn. Nếu cần làm ngược lại thì thêm dấu trừ:

ps aux --sort=-%cpu


Các ưu tiên của quy trình Linux hoặc bất kỳ tham số nào khác có thể được sử dụng làm trường sắp xếp. Bạn cũng có thể cắt bớt đầu ra nếu không cần hiển thị tất cả thông tin:

Có vẻ như ps không có khả năng xử lý cây. Nhưng không hẳn, có một lệnh riêng cho việc này:


Tìm tiến trình trong Linux

Một danh sách các quy trình là tốt. Nhưng đôi khi, khi một số tiến trình bị đóng băng và chúng ta cần tắt tiến trình Linux hoặc cần thực hiện một số hành động với nó, chúng ta cần chọn tiến trình này từ danh sách, tìm hiểu PID của nó và thông tin về nó.

Để tìm quy trình linux trong htop, bạn có thể sử dụng nút F3. Nhấn F3 và gõ từ đúng. Tiếp theo, để chuyển sang mục tiếp theo, nhấn F2 hoặc Esc để hoàn tất tìm kiếm:


Bạn cũng có thể sử dụng bộ lọc htop để tìm kiếm các tiến trình trong htop. Nhấn F4, nhập một từ và chỉ các tiến trình linux có tên bao gồm từ này mới được liệt kê.


Không có tính năng lọc trong tiện ích ps, nhưng chúng ta có thể sử dụng tiện ích grep, chuyển hướng đầu ra ps tới nó để tìm quy trình linux:

phụ trợ ps | grep crom

Đây là lệnh được sử dụng rất phổ biến.

Thay đổi mức độ ưu tiên của quy trình

Mức độ ưu tiên của quy trình Linux có nghĩa là thời gian CPU sẽ được dành cho quy trình đó nhiều hơn bao nhiêu so với các quy trình khác. Bằng cách này, chúng ta có thể tinh chỉnh chương trình nào sẽ chạy nhanh hơn và chương trình nào sẽ chạy chậm hơn. Giá trị ưu tiên có thể nằm trong khoảng từ 19 (mức ưu tiên tối thiểu) đến -20 - mức ưu tiên tối đa của quy trình linux. Hơn nữa, bạn có thể giảm mức độ ưu tiên với quyền của người dùng thông thường, nhưng để tăng mức độ ưu tiên, bạn cần có quyền siêu người dùng.

htop sử dụng tham số Nice để kiểm soát mức độ ưu tiên. Hãy để tôi nhắc bạn rằng Priv chỉ là một bản sửa đổi, trong hầu hết các trường hợp, nó nhiều hơn Nice 20. Để thay đổi mức độ ưu tiên của một quy trình, bạn chỉ cần đặt con trỏ lên đó và nhấn F7 để giảm số (tăng mức độ ưu tiên) hoặc F8 để giảm. tăng số lượng.

Nhưng để giải quyết nhiệm vụ quản lý tiến trình Linux này thì không nhất thiết phải sử dụng htop. Bạn có thể làm mọi thứ với các lệnh khác. Ví dụ, lệnh nice. Sử dụng nó, bạn có thể chỉ định mức độ ưu tiên cho quá trình được khởi chạy:

tốt đẹp -n 10 apt-get nâng cấp

Hoặc thay đổi mức độ ưu tiên cho cái hiện có bằng pid của nó:

gia hạn -n 10 -p 1343

Chấm dứt các tiến trình trong Linux

Nếu một tiến trình bị đóng băng và không phản hồi thì nó phải được chấm dứt. Trong htop, để tắt một tiến trình Linux, chỉ cần đặt con trỏ lên tiến trình đó và nhấn F9:


Hệ thống sử dụng các tín hiệu nhất định để điều khiển các quy trình; có những tín hiệu cho biết quá trình này sẽ kết thúc. Dưới đây là một số tín hiệu cơ bản:

  • SIGKILL— yêu cầu quá trình lưu dữ liệu và kết thúc
  • SIGTERM- kết thúc quá trình ngay lập tức mà không cần lưu

Nói chung, có vài chục tín hiệu, nhưng chúng tôi sẽ không xem xét chúng. Hãy gửi tín hiệu SIGKILL:

Bạn cũng có thể sử dụng tiện ích kill:

Bạn cũng có thể giết một tiến trình theo tên:

killall crom

Giới hạn quy trình

Quản lý quy trình trong Linux cho phép bạn kiểm soát hầu hết mọi thứ. Bạn đã thấy những gì có thể làm được, nhưng thậm chí còn có thể làm được nhiều hơn thế. Sử dụng lệnh ulimit và tập tin cấu hình/etc/security/limits.conf bạn có thể giới hạn quyền truy cập của các tiến trình vào tài nguyên hệ thống như bộ nhớ, tệp và CPU. Ví dụ: bạn có thể giới hạn bộ nhớ xử lý Linux, số lượng tệp, v.v.

Mục trong tệp trông như thế này:

<домен> <тип> <элемент> <значение>

  • lãnh địa— tên người dùng, tên nhóm hoặc UID
  • kiểu— loại hạn chế — mềm hay cứng
  • yếu tố- một nguồn tài nguyên sẽ bị hạn chế
  • nghĩa- giới hạn cần thiết

Giới hạn cứng được đặt bởi siêu người dùng và không thể thay đổi người dùng thông thường. Người dùng có thể thay đổi giới hạn mềm bằng lệnh ulimit.

Hãy xem xét các hạn chế chính có thể được áp dụng cho các quy trình:

Ví dụ: hãy giới hạn thời gian xử lý cho các quy trình của người dùng sergiy:

sergiy cứng nproc 20

Bạn có thể xem các hạn chế cho một quy trình cụ thể trong thư mục proc:

mèo /proc/PID/giới hạn

Thời gian CPU tối đa không giới hạn số giây
Kích thước tệp tối đa không giới hạn byte không giới hạn
Kích thước dữ liệu tối đa không giới hạn byte không giới hạn
Kích thước ngăn xếp tối đa 204800 byte không giới hạn
Kích thước tệp lõi tối đa 0 byte không giới hạn
Cư dân tối đa được đặt không giới hạn byte không giới hạn
Quy trình tối đa 23562 23562 quy trình
Tệp mở tối đa 1024 4096 tệp
Bộ nhớ bị khóa tối đa 18446744073708503040 18446744073708503040 byte
Không gian địa chỉ tối đa không giới hạn byte
Khóa tập tin tối đa không giới hạn khóa không giới hạn
Tín hiệu chờ xử lý tối đa 23562 23562 tín hiệu
Kích thước hàng đợi tin nhắn tối đa 819200 819200 byte
Ưu tiên tốt đẹp tối đa 0 0
Ưu tiên thời gian thực tối đa 0 0
Thời gian chờ thời gian thực tối đa không giới hạn chúng tôi

Các hạn chế được thay đổi theo cách này sẽ có hiệu lực sau khi khởi động lại. Nhưng chúng ta cũng có thể đặt giới hạn cho hiện tại thông dịch lệnh và các tiến trình nó tạo ra bằng lệnh ulimit.

Dưới đây là các tùy chọn lệnh:

  • -S- giới hạn mềm
  • -H- giới hạn cứng
  • -Một- hiển thị tất cả thông tin
  • -f- kích thước tối đa của tập tin được tạo
  • -N- số lượng tập tin mở tối đa
  • -S- kích thước ngăn xếp tối đa
  • -t- lượng thời gian xử lý tối đa
  • -u- số lượng tiến trình đang chạy tối đa
  • -v- dung lượng bộ nhớ ảo tối đa

Ví dụ: chúng ta có thể đặt giới hạn mới về số lượng tệp có thể mở được:

Bây giờ chúng ta hãy xem:

Hãy đặt giới hạn RAM:

ulimit -Sv 500000

Hãy để tôi nhắc bạn rằng hạn chế này sẽ áp dụng cho tất cả các chương trình được thực thi trong thiết bị đầu cuối này.

kết luận

Đó là tất cả. Giờ đây, việc quản lý các quy trình trong Linux sẽ không gây ra vấn đề gì cho bạn. Chúng tôi đã xem xét chủ đề này rất chi tiết. Nếu bạn có bất kỳ câu hỏi hoặc gợi ý nào để bổ sung vào bài viết, hãy viết trong phần bình luận!

Giới thiệu

Bạn đã bao giờ muốn biết chương trình nào đã mở một tập tin hoặc thư mục cụ thể chưa? Bây giờ bạn có cơ hội này. Chương trình Trình khám phá quy trình Hiển thị thông tin về các thẻ điều khiển được mở bởi một tiến trình và các tệp DLL được nó tải.

Khu vực làm việc của chương trình Trình khám phá quy trình gồm có hai cửa sổ. Cửa sổ trên cùng hiển thị danh sách quy trình hoạt động, bao gồm tên của các tài khoản sở hữu các quy trình này. Thông tin được hiển thị ở cửa sổ phía dưới tùy thuộc vào chế độ vận hành đã chọn của chương trình. Ở chế độ xử lý, cửa sổ phía dưới hiển thị tất cả các thẻ điều khiển đang mở của quy trình được chọn ở cửa sổ phía trên và ở chế độ DLL, tất cả đều được quy trình tải thư viện động và các tập tin ánh xạ bộ nhớ. Ngoài ra, chương trình Trình khám phá quy trình Ngoài ra còn có các khả năng tìm kiếm mạnh mẽ cho phép bạn nhanh chóng tìm ra quy trình nào có một trình xử lý cụ thể đang mở hoặc một DLL cụ thể được tải.

Cảm ơn bạn cơ hội duy nhất, chương trình Trình khám phá quy trình Hữu ích để giải quyết các vấn đề với phiên bản DLL và xử lý rò rỉ cũng như để hiểu cách hoạt động của Windows và các ứng dụng.


Cài đặt

Chạy chương trình Trình khám phá quy trình(Procexp.exe).

Tệp trợ giúp cung cấp thông tin về các thao tác có sẵn và cách sử dụng chương trình. Nếu bạn có thắc mắc hoặc vấn đề, hãy truy cập diễn đàn Sysinternals Process Explorer.

Tài liệu bổ sung

Sau đây là danh sách các chương trình theo dõi DLL và xử lý khác có sẵn trên trang Web Sysinternals:

    một chương trình xem thông tin về các bộ mô tả mở, được thực thi trên dòng lệnh;

    một chương trình xem thông tin về các tệp DLL đã tải, được thực thi trên dòng lệnh;

    một chương trình hiển thị danh sách các quy trình trên hệ thống cục bộ hoặc từ xa, được thực thi trên dòng lệnh;

    một chương trình để tắt các tiến trình trên hệ thống cục bộ hoặc từ xa, được thực thi trên dòng lệnh.

Các bài viết trong Cơ sở Kiến thức Microsoft về
Trình khám phá quy trình
Các bài viết Cơ sở Kiến thức Microsoft sau đây đề cập đến việc sử dụng Process Explorer để chẩn đoán hoặc giải quyết các lỗi khác nhau:
  • 319034: khắc phục: rò rỉ xử lý luồng trong phương pháp PrintReport của báo cáo dữ liệu
  • 242131: Cách hiển thị danh sách các quy trình có tệp đang mở
  • 216368: PRB: Vi phạm quyền truy cập trong quá trình cài đặt ứng dụng nếu tệp đang bận
  • 166112: PRB: Xảy ra xung đột với thuộc tính EOF khi sử dụng chỉ thị #import trên đối tượng dữ liệu ActiveX
  • 301357: PRB: DLL không được tải sau khi gọi CoFreeUnusedLibraries
  • 247957: MẪU: sử dụng DUPS.exe để giải quyết vấn đề tương thích DLL
  • 313735: XCON: Rò rỉ bộ nhớ trong quá trình MTA khi có nhiều bộ điều khiển mở
  • 276525: Máy tính dừng phản hồi khi giám sát các tay cầm mở

Cài đặt

Chỉ cần chạy chương trình Trình khám phá quy trình(Procexp.exe).

Tệp trợ giúp cung cấp thông tin về cách sử dụng chương trình Trình khám phá quy trình và về các hoạt động có sẵn. Nếu bạn có thắc mắc hoặc vấn đề, hãy truy cập

Các quy trình trong Windows - nơi tìm, mô tả các quy trình tiêu chuẩn

Tiếp tục phần “Dành cho người mới bắt đầu”, hôm nay chúng ta sẽ nói về các quy trình trong Windows. Chúng ta hãy xem chúng là gì, chúng ảnh hưởng gì và làm thế nào chúng có thể được kiểm soát. Trong hệ điều hành, một "tiến trình" là một thể hiện chương trình máy tính, hiện đang chạy. Bản thân chương trình chỉ là một tập hợp các quy tắc và mã, trong khi quy trình là sự thực thi thực tế của tất cả.

Các tác vụ của cùng một chương trình có thể được thực thi trong một số quy trình và theo lẽ tự nhiên, mỗi quy trình đang hoạt động yêu cầu một lượng nhất định tài nguyên hệ thống và càng nhiều chúng chạy cùng lúc thì máy tính bắt đầu hoạt động càng chậm.

Nhiều người dùng mới làm quen ít quan tâm đến những tiến trình ẩn nào đang chạy cho họ, nhưng trong khi đó, việc hỏi xem có tiến trình nào đang chạy hay không là điều hợp lý. chương trình nền và các dịch vụ không cần thiết và gây lãng phí thời gian và bộ nhớ của CPU. Nhưng trước khi vô hiệu hóa các quy trình không cần thiết để giải phóng tài nguyên máy tính, bạn cần học cách hiểu chúng để không vô tình ảnh hưởng đến các quy trình liên quan đến hệ thống, chẳng hạn như nhiều quy trình được khởi chạy khi máy tính khởi động và cực kỳ cần thiết cho hoạt động của máy tính. hệ điều hành và các ứng dụng khác.

Cũng cần đề cập rằng hầu hết các loại virus đều ngụy trang thành một trong những quá trình làm phức tạp việc phát hiện. Chính vì những lý do này mà điều quan trọng là phải có khả năng nhận biết và xác định chúng.

Để xem toàn bộ danh sách các tiến trình đang hoạt động, bạn cần mở Trình quản lý tác vụ. Có ba cách phổ biến để làm điều này:

Sự kết hợp phím ctrl+ alt + del
- tổ hợp phím ctrl + shift + esc
hoặc
- nhấp chuột phải vào thanh tác vụ - mục “Trình quản lý tác vụ”.

Trong cửa sổ Trình quản lý, chọn tab Quy trình.


Trong cửa sổ mở ra, có một số cột mà chúng ta có thể lấy cột đầu tiên thông tin cần thiết về những tiến trình nào được tải và chúng tiêu thụ bao nhiêu tài nguyên.

1. Tên ảnh – tên tiến trình
2. Người dùng - từ đó tài khoản quá trình bắt đầu
3. CPU - hiển thị tải của bộ xử lý dưới dạng phần trăm
4. Bộ nhớ - dung lượng RAM được phân bổ
5. Mô tả - Mô tả ngắn chương trình, dịch vụ hoặc dịch vụ nào bắt đầu quá trình này.

Ở dưới cùng của cửa sổ, tổng số quy trình đang hoạt động, tổng số bộ xử lý và tải RAM dưới dạng phần trăm được hiển thị.

Để vô hiệu hóa quá trình không cần thiết, bạn phải chọn một trong số chúng và nhấp vào nút “Kết thúc quá trình”. Tuy nhiên, một "Quy trình kết thúc" đơn giản sẽ vô hiệu hóa nó cho đến lần tiếp theo. khởi động lại Windows. Do đó, nếu bạn muốn loại bỏ nó mãi mãi, bạn cần phải tắt tính năng khởi chạy của nó trong chính ứng dụng khởi chạy quá trình này hoặc vô hiệu hóa dịch vụ kích hoạt nó hoặc xóa nó khỏi quá trình khởi động hoặc thậm chí xóa hoàn toàn ứng dụng không cần thiết.

Nếu các cột tiêu chuẩn không đủ để bạn có được thông tin về quy trình, bạn có thể thêm các cột bổ sung. Để thực hiện việc này, trong menu chính của Trình quản lý tác vụ, hãy nhấp vào “Xem” và trong menu mở ra, chọn “Chọn/Thêm cột”.

Chọn các hộp bên cạnh “ID quy trình (PID)” và “Đường dẫn đến hình ảnh”. Bấm vào đồng ý.

Bây giờ, trong cột “Đường dẫn hình ảnh”, bạn có thể thấy vị trí của tệp bắt đầu quá trình chạy.

Và thông tin trong cột “ID tiến trình (PID)” sẽ hữu ích nếu bạn cần biết, chẳng hạn như dịch vụ nào đang chạy quy trình “Svchost.exe”.

Nhìn về phía trước một chút, tại sao chúng tôi lại chọn nó làm ví dụ. Cái này quan trọng quy trình hệ thống và cần thiết để bật và kiểm soát dịch vụ khác nhau. Sự nhầm lẫn giữa nhiều người dùng với quy trình này xuất phát từ thực tế là một số phiên bản của nó có thể chạy đồng thời, nhưng mọi thứ đều phụ thuộc vào dịch vụ khác nhau. Và để hiểu dịch vụ nào thuộc về một quy trình cụ thể “Svchost.exe”, chúng ta cần mã định danh số của nó - PID. Sau khi nhớ số được chỉ ra trong cột này, hãy chuyển đến “Trình quản lý tác vụ” đến tab “Dịch vụ”.
Trong cửa sổ này, nhấp chuột trái vào tiêu đề cột “Process ID”. Danh sách sẽ được sắp xếp và bạn có thể dễ dàng tìm thấy một quy trình bằng PID bằng cách xem mô tả của nó trong cột tương ứng.


Tất nhiên, có rất ít thông tin trong cửa sổ này, nhưng nó cho phép bạn hiểu đại khái dịch vụ nào đã khởi chạy “Svchost.exe”. Chúng tôi đã đề cập đến quá trình này trong bài viết ""

Một cách khác để xem vị trí của tệp kích hoạt quá trình là nhấp vào click chuột phải di chuột vào một trong số chúng và chọn “Mở vị trí lưu trữ tệp”.

Theo thời gian, bạn sẽ học cách dễ dàng nhận ra bất kỳ quy trình nào. Để giúp bạn thực hiện công việc này dễ dàng hơn một chút, dưới đây là danh sách các quy trình hệ thống và phần mềm điển hình nhất, hầu hết chúng được khởi chạy theo mặc định cùng với hệ điều hành.

alg.exe- quy trình hệ thống. một dịch vụ là một trong các thành phần của hệ điều hành Cần có Windowsđể truy cập Internet và vận hành Tường lửa. Nếu bạn hoàn tất quá trình này, kết nối Internet sẽ bị gián đoạn cho đến lần khởi động lại Windows tiếp theo.

ati2evxx.exe— là một trong những thành phần của trình điều khiển cho card màn hình AMD/ATI. Thực hiện các phím nóng. Do mức sử dụng CPU cao, nên tắt quy trình này và dịch vụ liên quan của nó.

BTTray.exe- thành phần trình điều khiển bluetooth từ Widcomm. Cần thiết cho công việc của họ.

csrss.exe- một quy trình hệ thống Windows đảm bảo hoạt động của thành phần máy khách/máy chủ. Không thể bị vô hiệu hóa. Dễ bị nhiễm virus nhất.

ctfmon.exe- một quy trình hệ thống chịu trách nhiệm về thanh ngôn ngữ, một chỉ báo hiển thị bố cục bàn phím hiện tại và cung cấp hỗ trợ cho người khác các phương thức thay thếđầu vào. Việc vô hiệu hóa quá trình này đương nhiên không được khuyến khích.

dwm.exe- Quy trình hệ thống Windows. Tích hợp vào hệ thống bắt đầu từ Windows Vista và 7. Chịu trách nhiệm về các hiệu ứng đồ họa của màn hình nền, cửa sổ và menu cũng như hoạt động bình thường Giao diện hàng không.

explorer.exe- quy trình hệ thống cần thiết quan trọng Windows Explorer, chịu trách nhiệm hiển thị desktop và menu, cho phép người dùng điều hướng. Bạn không nên tắt nó đi.

issch.exe- một quy trình cho phép bạn kiểm tra các bản cập nhật trong lý lịch trình cài đặt Windows tiêu chuẩn và các chương trình khác.

jusched.exe- quy trình lập kế hoạch cho kiểm tra tự động Cập nhật Java các thành phần. Vô hiệu hóa khởi động tự động Quá trình này có thể đạt được bằng cách tắt tính năng tự động kiểm tra các bản cập nhật trong cài đặt Java (Start-Control Panel-Java).

lsass.exe- một quy trình hệ thống cần thiết chịu trách nhiệm cho hoạt động Máy chủ cục bộ xác thực, chính sách bảo mật và phân quyền người dùng. Tương tác với dịch vụ winlogon. Không thể hoàn thành.

lsm.exe- quy trình hệ thống kiểm soát kết nối từ xaĐẾN hệ thống cục bộ. Không cần phải tắt.

rthdcpl.exe- Quá trình thực hiện nó bảng điều khiểnÂm thanh Realtek HD. Biểu tượng của chương trình này nằm trong khay, bên cạnh đồng hồ. Việc hoàn tất quá trình này có thể gây ra sự cố âm thanh trên hệ thống.

rundll32.exe— Quá trình hệ thống Windows bắt buộc được khởi chạy bởi tiện ích dòng lệnh. Cho phép bạn chạy các chức năng và lệnh của tệp DLL.

dịch vụ.exe là một quy trình hệ thống quan trọng chịu trách nhiệm quản lý tất cả các dịch vụ hệ thống.

smss.exe- một quy trình hệ thống cần thiết chịu trách nhiệm bắt đầu phiên người dùng, cũng như khởi chạy các quy trình Winlogon và Csrss.exe. Quá trình này không thể chấm dứt.

spoolsv.exe- quy trình hệ thống. Chịu trách nhiệm về các chức năng in ấn (máy in, fax, v.v.).

svchost.exe- một trong những quy trình hệ thống chính, chịu trách nhiệm vận hành một số dịch vụ. Một số bản sao của nó có thể hoạt động đồng thời, bởi vì mỗi cái chứa các dịch vụ khác nhau.

wininit.exe- hệ thống cần thiết Quá trình Windows. Chạy ở chế độ nền để hỗ trợ một số chức năng quan trọng nhất của bạn Dịch vụ hệ thống và các chương trình, đồng thời chịu trách nhiệm ra mắt kịp thời các hạng mục khởi động.

winlogon.exe- Quy trình hệ thống quan trọng. Chịu trách nhiệm đăng nhập và đăng xuất người dùng khỏi hệ thống. Không thể hoàn thành.

wmiprvse.exe— quy trình hệ thống, một trong những thành phần của Bộ công cụ Quản lý Windows. Vô hiệu hóa không được khuyến khích.

wudfhost.exe- Thể hiện chức năng nhất định để hỗ trợ các trình điều khiển khác nhau trong hệ điều hành Windows. Ví dụ: xuất hiện khi kết nối điện thoại qua USB.

Cơ sở công việc của mọi quản trị viên hệ thống là giám sát hệ điều hành và cung cấp hoạt động binh thương của tất cả các quy trình - ít nhất là nhiều nhất có thể được mong đợi. Chú ý giám sát nhật ký sự kiện Giúp xác định và theo dõi các sự cố trong ứng dụng, bảo mật và các dịch vụ quan trọng. Sau khi phát hiện hoặc nghi ngờ một vấn đề, quản trị viên phải tìm hiểu tận gốc nguyên nhân và khắc phục nó. Xác định chính xác nguyên nhân của vấn đề sẽ ngăn nó tái diễn.

Quản lý ứng dụng, quy trình và hiệu suất

Bất cứ khi nào hệ điều hành hoặc người dùng chạy một dịch vụ, ứng dụng hoặc lệnh, Microsoft Windows chạy một hoặc nhiều tiến trình để điều khiển chương trình liên quan. Một số tiện ích dòng lệnh sẽ giúp bạn dễ dàng hơn giám sát chương trình và sự quản lý của họ. Những tiện ích này bao gồm:

  • - Hiển thị số liệu thống kê hiệu suất, bao gồm mức sử dụng bộ nhớ và CPU cũng như danh sách tất cả các tiến trình đang chạy trên hệ thống cục bộ. Cho phép bạn có được “ảnh chụp nhanh” chi tiết về các tài nguyên liên quan và các quy trình đang được thực hiện. Pmon đi kèm với Bộ tài nguyên Windows;
  • Danh sach cong viec- liệt kê tất cả các tiến trình đang chạy theo tên và ID tiến trình, báo cáo thông tin về phiên người dùng và bộ nhớ bị chiếm dụng;
  • Taskkill (Tiêu diệt nhiệm vụ)- dừng việc thực hiện một quá trình được chỉ định bởi tên hoặc mã định danh. Bằng cách sử dụng bộ lọc, bạn có thể dừng các tiến trình tùy thuộc vào trạng thái, số phiên, thời gian CPU, dung lượng bộ nhớ, tên người dùng và các thông số khác của chúng.

Ví dụ về quản lý quy trình thông qua dòng lệnh

Phân tích các tiến trình đang chạy trên dòng lệnh

Với sự giúp đỡ Tiện ích dòng lệnh danh sách tác vụ bạn có thể kiểm tra các tiến trình đang chạy trên hệ thống cục bộ hoặc từ xa. Danh sách nhiệm vụ cho phép bạn:

  • lấy mã định danh quy trình, trạng thái của nó và thông tin quan trọng khác về các quy trình trong hệ thống;
  • xem sự phụ thuộc giữa các tiến trình đang chạy và các dịch vụ được cấu hình trong hệ thống;
  • xem danh sách các DLL được sử dụng bởi các tiến trình đang chạy trên hệ thống;
  • sử dụng các bộ lọc để bao gồm hoặc loại trừ các quy trình được hiển thị bởi Danh sách nhiệm vụ.

Ví dụ: danh sách tác vụ - lệnh hiển thị danh sách các tiến trình đang chạy trong hệ điều hành.

Giám sát quá trình và sử dụng tài nguyên hệ thống

Giám sát tài nguyên quy trình (Pmon) Hiển thị “ảnh chụp nhanh” về tài nguyên hệ thống đang được sử dụng và các tiến trình đang chạy. Sau khi khởi chạy (bằng cách nhập pmon vào dòng lệnh), tiện ích này sẽ thu thập thông tin về việc sử dụng tài nguyên và các tiến trình đang chạy trên hệ thống cục bộ và hiển thị kết quả trong cửa sổ bảng điều khiển. Số liệu thống kê được tự động cập nhật cứ năm giây một lần. Pmon tiếp tục chạy cho đến khi bạn nhấn Q để thoát; nhấn bất kỳ phím nào khác sẽ cập nhật thông tin.

Dừng tiến trình trên dòng lệnh

Để dừng các tiến trình trên hệ thống cục bộ hoặc từ xa, hãy sử dụng tiện ích dòng lệnh Taskkill. Một quá trình có thể được dừng bằng ID của nó bằng tham số /Pid hoặc bằng tên hình ảnh

Ví dụ: taskkill /IM notepad.exe - dừng chương trình notepad.

Quy trình hệ thống và người dùng

Thông thường, một quy trình được bắt đầu bởi hệ điều hành được gọi là quy trình hệ thống và một quy trình do người dùng bắt đầu được gọi là quy trình người dùng. Hầu hết các quy trình người dùng đều chạy tương tác. Nghĩa là, người dùng bắt đầu quá trình trực tiếp bằng bàn phím hoặc chuột. Khi một chương trình đang hoạt động, quá trình tương tác liên quan của nó sẽ điều khiển bàn phím và chuột cho đến khi bạn thay đổi điều khiển bằng cách kết thúc chương trình đó hoặc chọn một chương trình khác. Một quá trình giành quyền điều khiển bàn phím và chuột được gọi là tích cực.

Các tiến trình cũng có thể chạy trong lý lịch bất kể phiên người dùng đã đăng ký. Quá trình nền không có quyền kiểm soát bàn phím, chuột hoặc các thiết bị đầu vào khác và thường được hệ điều hành khởi chạy. Nhưng với Task Scheduler, người dùng cũng có thể chạy các tiến trình ở chế độ nền và các tiến trình này có thể chạy bất kể người dùng có đăng nhập hay không.

Các tiện ích hệ thống, trình soạn thảo và văn bản, trình duyệt và trình tổng hợp RSS, ransomware và khách hàng email, tất cả những chương trình này và nhiều loại chương trình khác đều có một chức năng chung không phụ thuộc vào mục đích của ứng dụng, đó là in. Đối với các chương trình xử lý bằng cách nào đó nội dung có thể được hiển thị trên phương tiện analog, chức năng in được coi là gần như bắt buộc.

Nhưng cũng có những ngoại lệ. Lấy ví dụ, tiêu chuẩn . Mặc dù thực tế là thông tin về các quy trình mà nó hiển thị có thể dễ dàng được in ra nhưng bạn sẽ không tìm thấy lệnh “In” thông thường trong đó. Nhưng nếu bạn đột nhiên cần in danh sách các quy trình hiện tại thì sao? Đừng viết lại từng cái một vào một tập tin văn bản!

Trong thực tế, hiển thị danh sách các quy trình, dịch vụ, v.v. thông tin hệ thống thành một tập tin (để in) rất đơn giản. Cách dễ nhất là sử dụng phần mềm đặc biệt, chẳng hạn như tiện ích Procexp, được mọi quản trị viên hệ thống biết đến hoặc ứng dụng AnVir Task Manager toàn diện.

Nhưng bạn có thể làm mà không cần bất kỳ bên thứ ba nào phần mềm. Tất cả những gì chúng ta cần là kiến ​​thức về hai hoặc ba lệnh được thực thi trong dòng lệnh hoặc PowerShell tương đương nâng cao của nó.

Trong bảng điều khiển, để xuất danh sách các tiến trình hiện tại ra một tệp, hãy sử dụng lệnh danh sach cong viec chỉ ra đường đi. Khi lệnh được thực thi, tập tin sẽ được tạo tự động. Tệp hiện có sẽ bị ghi đè. Nó trông như thế này:

danh sách tác vụ > D:processes.txt



Trong trường hợp này, bạn sẽ nhận được danh sách các quy trình hiện tại cho biết tên của phiên và quy trình, mã định danh của nó cũng như dung lượng bộ nhớ được phân bổ mà mỗi quy trình sử dụng. Nếu bạn gặp vấn đề với việc mã hóa (trong tập tin văn bản kryakozyabra), thay đổi mã hóa bằng cách chạy lệnh chcp với giá trị 1251.

chcp 1251
danh sách tác vụ > D:processes.txt






Lệnh tasklist có nhiều tham số và bộ lọc cho phép bạn sắp xếp dữ liệu đầu ra. Để nhận trợ giúp chi tiết từ dòng lệnh, hãy sử dụng lệnh tasklist /?

Một phương pháp khác để lấy danh sách các tiến trình đang chạy vào một tệp là sử dụng Tiện ích PowerShell. Nguyên tắc gần giống nhau, nhưng các lệnh được sử dụng thì khác nhau. Nhân tiện, các lệnh trong PowerShell được gọi là lệnh ghép ngắn. Tập hợp các lệnh ghép ngắn để xuất danh sách các tiến trình vào một tệp sẽ trông như thế này:

quá trình nhận | tập tin ngoài D:process.txt






TRONG trong ví dụ này get-process lấy danh sách các tiến trình và xuất tệp ra theo đường dẫn đã chỉ định. Như bạn có thể thấy, kết quả đầu ra bằng PowerShell có nhiều thông tin hơn. Nếu bạn sử dụng lệnh out-printer thay vì out-file, bạn có thể xuất dữ liệu trực tiếp tới máy in.

VỚI sử dụng PowerShell Bạn cũng có thể thực hiện nhiều thao tác hữu ích khác. Công cụ phổ quát này chắc chắn sẽ hữu ích không chỉ cho các lập trình viên và quản trị viên hệ thống, đối với họ kiến ​​thức về cú pháp PowerShell là bắt buộc, nhưng cũng người dùng có kinh nghiệm những người muốn thực hiện công việc trên máy tính nhanh hơn và hiệu quả hơn.