สคริปต์ชุด - กระบวนการ

ในบทนี้เราจะพูดถึงกระบวนการต่างๆที่เกี่ยวข้องกับ Batch Script

การดูรายการกระบวนการทำงาน

ใน Batch Script คำสั่ง TASKLIST สามารถใช้เพื่อรับรายการของกระบวนการที่กำลังทำงานอยู่ภายในระบบ

ไวยากรณ์

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
ส. ตัวเลือกและคำอธิบาย
1.

/S system

ระบุระบบรีโมตที่จะเชื่อมต่อ

2.

/U

[domain\]user

ระบุบริบทผู้ใช้ที่คำสั่งควรดำเนินการ

3.

/P [password]

ระบุรหัสผ่านสำหรับบริบทผู้ใช้ที่กำหนด พร้อมต์สำหรับการป้อนข้อมูลหากละเว้น

4.

/M [module]

แสดงรายการงานทั้งหมดในปัจจุบันโดยใช้ชื่อ exe / dll ที่กำหนด หากไม่ได้ระบุชื่อโมดูลโมดูลที่โหลดทั้งหมดจะแสดงขึ้น

5.

/SVC

แสดงบริการที่โฮสต์ในแต่ละกระบวนการ

6.

/V

แสดงข้อมูลงานแบบละเอียด

7.

/FI filter

แสดงชุดของงานที่ตรงกับเกณฑ์ที่กำหนดโดยตัวกรอง

8.

/FO format

ระบุรูปแบบผลลัพธ์ ค่าที่ถูกต้อง: "TABLE", "LIST", "CSV"

9.

/NH

ระบุว่าไม่ควรแสดง "Column Header" ในเอาต์พุต ใช้ได้กับรูปแบบ "TABLE" และ "CSV" เท่านั้น

ตัวอย่าง

TASKLIST

คำสั่งดังกล่าวจะได้รับรายการของกระบวนการทั้งหมดที่ทำงานบนระบบภายในของคุณ ต่อไปนี้เป็นสแน็ปช็อตของเอาต์พุตที่แสดงผลเมื่อคำสั่งด้านบนถูกรันตามที่เป็นอยู่ ดังที่คุณเห็นจากผลลัพธ์ต่อไปนี้ไม่เพียง แต่คุณจะได้รับกระบวนการต่างๆที่ทำงานบนระบบของคุณคุณยังได้รับการใช้หน่วยความจำของแต่ละกระบวนการอีกด้วย

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

คำสั่งดังกล่าวรับเอาต์พุตที่แสดงโดยรายการงานและบันทึกลงในไฟล์ process.txt

tasklist /fi "memusage gt 40000"

คำสั่งดังกล่าวจะดึงเฉพาะกระบวนการที่มีหน่วยความจำมากกว่า 40MB ต่อไปนี้เป็นเอาต์พุตตัวอย่างที่สามารถแสดงผลได้

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

การฆ่ากระบวนการเฉพาะ

อนุญาตให้ผู้ใช้ที่ใช้ Microsoft Windows XP professional, Windows 2003 หรือใหม่กว่าสามารถฆ่างานจากบรรทัดคำสั่งของ Windows โดยใช้รหัสกระบวนการ (PID) หรือชื่อภาพ คำสั่งที่ใช้เพื่อจุดประสงค์นี้คือคำสั่ง TASKILL

ไวยากรณ์

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]
ส. ตัวเลือกและคำอธิบาย
1.

/S system

ระบุระบบรีโมตที่จะเชื่อมต่อ

2.

/U

[domain\]user

ระบุบริบทผู้ใช้ที่คำสั่งควรดำเนินการ

3.

/P [password]

ระบุรหัสผ่านสำหรับบริบทผู้ใช้ที่กำหนด พร้อมต์สำหรับการป้อนข้อมูลหากละเว้น

4.

/FI

FilterName

ใช้ตัวกรองเพื่อเลือกชุดของงาน อนุญาตให้ใช้ "*" เช่น ชื่อภาพ eq acme * ดูตัวกรองด้านล่างสำหรับข้อมูลเพิ่มเติมและตัวอย่าง

5.

/PID

processID

ระบุ PID ของกระบวนการที่จะยุติ ใช้ TaskList เพื่อรับ PID

6.

/IM

ImageName

ระบุชื่ออิมเมจของกระบวนการที่จะยุติ สัญลักษณ์แทน '*' สามารถใช้เพื่อระบุงานหรือชื่อรูปภาพทั้งหมด

7.

/T

ยุติกระบวนการที่ระบุและกระบวนการย่อยใด ๆ ที่เริ่มต้นโดยมัน

8.

/F

ระบุเพื่อยุติกระบวนการอย่างมีผลบังคับ (es)

ตัวอย่าง

taskkill /f /im notepad.exe

คำสั่งดังกล่าวจะฆ่างาน notepad ที่เปิดอยู่หากเปิดอยู่

taskill /pid 9214

คำสั่งดังกล่าวฆ่ากระบวนการที่มีกระบวนการ 9214

การเริ่มกระบวนการใหม่

การเขียนสคริปต์ DOS ยังมีความพร้อมที่จะเริ่มกระบวนการใหม่ทั้งหมด สิ่งนี้ทำได้โดยใช้คำสั่ง START

ไวยากรณ์

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

ประเด็น

  • title - ข้อความสำหรับแถบชื่อเรื่องหน้าต่าง CMD (จำเป็น)

  • path - ไดเรกทอรีเริ่มต้น

  • command - คำสั่งไฟล์แบตช์หรือโปรแกรมปฏิบัติการที่จะเรียกใช้

  • parameters - พารามิเตอร์ส่งผ่านไปยังคำสั่ง

ส. ตัวเลือกและคำอธิบาย
1.

/MIN

หน้าต่างเริ่มย่อเล็กสุด

2.

/MAX

หน้าต่างเริ่มขยายใหญ่สุด

3.

/LOW

ใช้คลาสลำดับความสำคัญ IDLE

4.

/NORMAL

ใช้คลาสลำดับความสำคัญปกติ

5.

/ABOVENORMAL

ใช้คลาสลำดับความสำคัญ ABOVENORMAL

6.

/BELOWNORMAL

ใช้คลาสลำดับความสำคัญ BELOWNORMAL

7.

/HIGH

ใช้คลาสที่มีลำดับความสำคัญสูง

8.

/REALTIME

ใช้คลาสลำดับความสำคัญ REALTIME

ตัวอย่าง

START "Test Batch Script" /Min test.bat

คำสั่งดังกล่าวจะเรียกใช้ batch script test.bat ในหน้าต่างใหม่ หน้าต่างจะเริ่มต้นในโหมดย่อเล็กสุดและยังมีชื่อของ“ Test Batch Script”

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

คำสั่งดังกล่าวจะเรียกใช้ Microsoft word ในกระบวนการอื่นจากนั้นเปิดไฟล์ TESTA.txt ใน MS Word