Batch Script - Quy trình

Trong chương này, chúng ta sẽ thảo luận về các quy trình khác nhau liên quan đến Batch Script.

Xem danh sách các quy trình đang chạy

Trong Batch Script, lệnh TASKLIST có thể được sử dụng để lấy danh sách các tiến trình hiện đang chạy trong hệ thống.

Cú pháp

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
Không. Tùy chọn & Mô tả
1.

/S system

Chỉ định hệ thống từ xa để kết nối với

2.

/U

[domain\]user

Chỉ định ngữ cảnh người dùng mà lệnh sẽ thực thi.

3.

/P [password]

Chỉ định mật khẩu cho ngữ cảnh người dùng nhất định. Lời nhắc đầu vào nếu bị bỏ qua.

4.

/M [module]

Liệt kê tất cả các tác vụ hiện đang sử dụng tên exe / dll đã cho. Nếu tên mô-đun không được chỉ định, tất cả các mô-đun đã tải sẽ được hiển thị.

5.

/SVC

Hiển thị các dịch vụ được lưu trữ trong mỗi quá trình.

6.

/V

Hiển thị thông tin nhiệm vụ dài dòng.

7.

/FI filter

Hiển thị một tập hợp các nhiệm vụ phù hợp với một tiêu chí nhất định do bộ lọc chỉ định.

số 8.

/FO format

Chỉ định định dạng đầu ra. Giá trị hợp lệ: "TABLE", "LIST", "CSV".

9.

/NH

Chỉ định rằng "Tiêu đề Cột" sẽ không hiển thị trong đầu ra. Chỉ hợp lệ cho các định dạng "TABLE" và "CSV".

Ví dụ

TASKLIST

Lệnh trên sẽ lấy danh sách tất cả các tiến trình đang chạy trên hệ thống cục bộ của bạn. Sau đây là một ảnh chụp nhanh của kết quả được hiển thị khi lệnh trên được chạy như nó vốn có. Như bạn có thể thấy từ kết quả sau, bạn không chỉ nhận được các quy trình khác nhau đang chạy trên hệ thống của mình mà còn nhận được mức sử dụng bộ nhớ của từng quy trình.

Image Name                    PID       Session Name       Session#     Mem Usage
========================= ========    ================ =========== ============
System Idle Process             0        Services            0              4 K
System                          4        Services            0            272 K
smss.exe                      344        Services            0          1,040 K
csrss.exe                     528        Services            0          3,892 K
csrss.exe                     612        Console             1         41,788 K
wininit.exe                   620        Services            0          3,528 K
winlogon.exe                  648        Console             1          5,884 K
services.exe                  712        Services            0          6,224 K
lsass.exe                     720        Services            0          9,712 K
svchost.exe                   788        Services            0         10,048 K
svchost.exe                   832        Services            0          7,696 K
dwm.exe                       916        Console             1        117,440 K
nvvsvc.exe                    932        Services            0          6,692 K
nvxdsync.exe                  968        Console             1         16,328 K
nvvsvc.exe                    976        Console             1         12,756 K
svchost.exe                  1012        Services            0         21,648 K
svchost.exe                   236        Services            0         33,864 K
svchost.exe                   480        Services            0         11,152 K
svchost.exe                  1028        Services            0         11,104 K
svchost.exe                  1048        Services            0         16,108 K
wlanext.exe                  1220        Services            0         12,560 K
conhost.exe                  1228        Services            0          2,588 K
svchost.exe                  1276        Services            0         13,888 K
svchost.exe                  1420        Services            0         13,488 K
spoolsv.exe                  1556        Services            0          9,340 K

tasklist > process.txt

Lệnh trên nhận kết quả được hiển thị bởi danh sách tác vụ và lưu nó vào tệp process.txt.

tasklist /fi "memusage gt 40000"

Lệnh trên sẽ chỉ tìm nạp những tiến trình có bộ nhớ lớn hơn 40MB. Sau đây là một đầu ra mẫu có thể được kết xuất.

Image Name                    PID      Session Name     Session#     Mem Usage
=========================   ======== ================ =========== ============
dwm.exe                        916     Console             1        127,912 K
explorer.exe                  2904     Console             1        125,868 K
ServerManager.exe             1836     Console             1         59,796 K
WINWORD.EXE                   2456     Console             1        144,504 K
chrome.exe                    4892     Console             1        123,232 K
chrome.exe                    4976     Console             1         69,412 K
chrome.exe                    1724     Console             1         76,416 K
chrome.exe                    3992     Console             1         56,156 K
chrome.exe                    1168     Console             1        233,628 K
chrome.exe                     816     Console             1         66,808 K

Giết một quy trình cụ thể

Cho phép người dùng chạy Microsoft Windows XP Professional, Windows 2003 trở lên thực hiện tác vụ từ dòng lệnh Windows bằng id quy trình (PID) hoặc tên hình ảnh. Lệnh được sử dụng cho mục đích này là lệnh TASKILL.

Cú pháp

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]
Không. Tùy chọn & Mô tả
1.

/S system

Chỉ định hệ thống từ xa để kết nối với

2.

/U

[domain\]user

Chỉ định ngữ cảnh người dùng mà lệnh sẽ thực thi.

3.

/P [password]

Chỉ định mật khẩu cho ngữ cảnh người dùng nhất định. Lời nhắc đầu vào nếu bị bỏ qua.

4.

/FI

FilterName

Áp dụng một bộ lọc để chọn một nhóm nhiệm vụ. Cho phép "*" được sử dụng. Ví dụ. imagename eq acme * Xem các bộ lọc bên dưới để biết thêm thông tin và ví dụ.

5.

/PID

processID

Chỉ định PID của quá trình được kết thúc. Sử dụng TaskList để lấy PID.

6.

/IM

ImageName

Chỉ định tên hình ảnh của quá trình được kết thúc. Ký tự đại diện '*' có thể được sử dụng để chỉ định tất cả các nhiệm vụ hoặc tên hình ảnh.

7.

/T

Chấm dứt quy trình được chỉ định và bất kỳ quy trình con nào được bắt đầu bởi nó.

số 8.

/F

Chỉ định chấm dứt mạnh mẽ (các) quy trình.

Ví dụ

taskkill /f /im notepad.exe

Lệnh trên sẽ hủy tác vụ notepad đang mở, nếu đang mở.

taskill /pid 9214

Lệnh trên sẽ giết một tiến trình có tiến trình 9214.

Bắt đầu một quy trình mới

Tập lệnh DOS cũng có khả năng bắt đầu một quy trình mới hoàn toàn. Điều này đạt được bằng cách sử dụng lệnh START.

Cú pháp

START "title" [/D path] [options] "command" [parameters]

Trong đó

  • title - Văn bản cho thanh tiêu đề cửa sổ CMD (bắt buộc.)

  • path - Thư mục khởi động.

  • command - Lệnh, tệp hàng loạt hoặc chương trình thực thi để chạy.

  • parameters - Các tham số được truyền cho lệnh.

Không. Tùy chọn & Mô tả
1.

/MIN

Cửa sổ bắt đầu được Thu nhỏ

2.

/MAX

Cửa sổ bắt đầu được phóng to.

3.

/LOW

Sử dụng lớp ưu tiên IDLE.

4.

/NORMAL

Sử dụng lớp ưu tiên BÌNH THƯỜNG.

5.

/ABOVENORMAL

Sử dụng lớp ưu tiên ABOVENORMAL.

6.

/BELOWNORMAL

Sử dụng lớp ưu tiên DƯỚI ĐÂY.

7.

/HIGH

Sử dụng lớp ưu tiên CAO.

số 8.

/REALTIME

Sử dụng lớp ưu tiên REALTIME.

Ví dụ

START "Test Batch Script" /Min test.bat

Lệnh trên sẽ chạy tập lệnh loạt test.bat trong một cửa sổ mới. Các cửa sổ sẽ bắt đầu ở chế độ thu nhỏ và cũng có tiêu đề là “Test Batch Script”.

START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"

Lệnh trên sẽ thực sự chạy Microsoft word trong một quá trình khác và sau đó mở tệp TESTA.txt trong MS Word.