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.