Toplu Komut Dosyası - İşlem

Bu bölümde, Batch Script'te yer alan çeşitli süreçleri tartışacağız.

Çalışan İşlemlerin Listesini Görüntüleme

Toplu Komut Dosyasında, TASKLIST komutu, bir sistem içinde şu anda çalışan işlemlerin listesini almak için kullanılabilir.

Sözdizimi

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
S.No. Seçenekler ve Açıklama
1.

/S system

Bağlanılacak uzak sistemi belirtir

2.

/U

[domain\]user

Komutun altında çalışması gereken kullanıcı bağlamını belirtir.

3.

/P [password]

Verilen kullanıcı içeriği için parolayı belirtir. Atlanırsa giriş ister.

4.

/M [module]

Verilen exe / dll adını kullanan tüm görevleri listeler. Modül adı belirtilmezse, yüklenen tüm modüller görüntülenir.

5.

/SVC

Her işlemde barındırılan hizmetleri görüntüler.

6.

/V

Ayrıntılı görev bilgilerini görüntüler.

7.

/FI filter

Filtre tarafından belirtilen belirli bir kriterle eşleşen bir dizi görevi görüntüler.

8.

/FO format

Çıktı formatını belirtir. Geçerli değerler: "TABLE", "LIST", "CSV".

9.

/NH

"Sütun Başlığı" nın çıktıda gösterilmemesi gerektiğini belirtir. Yalnızca "TABLE" ve "CSV" biçimleri için geçerlidir.

Örnekler

TASKLIST

Yukarıdaki komut, yerel sisteminizde çalışan tüm işlemlerin listesini alacaktır. Aşağıda, yukarıdaki komut olduğu gibi çalıştırıldığında oluşturulan çıktının bir anlık görüntüsü bulunmaktadır. Aşağıdaki çıktıdan da görebileceğiniz gibi, sadece sisteminizde çalışan çeşitli işlemleri değil, aynı zamanda her işlemin bellek kullanımını da elde edersiniz.

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

Yukarıdaki komut, tasklist tarafından görüntülenen çıktıyı alır ve process.txt dosyasına kaydeder.

tasklist /fi "memusage gt 40000"

Yukarıdaki komut yalnızca belleği 40MB'den büyük olan işlemleri getirecektir. Aşağıda, işlenebilecek örnek bir çıktı verilmiştir.

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

Belirli Bir Süreci Öldürmek

Microsoft Windows XP Professional, Windows 2003 veya sonraki bir sürümünü çalıştıran bir kullanıcının, bir Windows komut satırındaki bir görevi işlem kimliği (PID) veya görüntü adına göre sonlandırmasına izin verir. Bu amaçla kullanılan komut, TASKILL komutudur.

Sözdizimi

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]
S.No. Seçenekler ve Açıklama
1.

/S system

Bağlanılacak uzak sistemi belirtir

2.

/U

[domain\]user

Komutun altında çalışması gereken kullanıcı bağlamını belirtir.

3.

/P [password]

Verilen kullanıcı içeriği için parolayı belirtir. Atlanırsa giriş ister.

4.

/FI

FilterName

Bir dizi görev seçmek için bir filtre uygular. "*" Kullanılmasına izin verir. ör. imagename eq acme * Ek bilgi ve örnekler için aşağıdaki filtrelere bakın.

5.

/PID

processID

Sonlandırılacak işlemin PID'sini belirtir. PID'yi almak için TaskList'i kullanın.

6.

/IM

ImageName

Sonlandırılacak işlemin görüntü adını belirtir. Joker karakter '*' tüm görevleri veya görüntü adlarını belirtmek için kullanılabilir.

7.

/T

Belirtilen süreci ve kendisi tarafından başlatılan tüm alt işlemleri sonlandırır.

8.

/F

İşlem (ler) in zorla sonlandırılacağını belirtir.

Örnekler

taskkill /f /im notepad.exe

Yukarıdaki komut, açıksa, açık not defteri görevini sonlandırır.

taskill /pid 9214

Yukarıdaki komut, 9214 işlemi olan bir işlemi öldürür.

Yeni Bir Süreç Başlamak

DOS komut dosyası oluşturma ayrıca yeni bir işlemi tümüyle başlatma imkanına sahiptir. Bu, START komutu kullanılarak elde edilir.

Sözdizimi

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

Nerede

  • title - CMD penceresi başlık çubuğu metni (gereklidir.)

  • path - Başlangıç ​​dizini.

  • command - Çalıştırılacak komut, toplu iş dosyası veya yürütülebilir program.

  • parameters - Komuta aktarılan parametreler.

S.No. Seçenekler ve Açıklama
1.

/MIN

Başlat penceresi Küçültülmüş

2.

/MAX

Başlangıç ​​penceresi büyütüldü.

3.

/LOW

IDLE öncelik sınıfını kullanın.

4.

/NORMAL

NORMAL öncelik sınıfını kullanın.

5.

/ABOVENORMAL

ABOVENORMAL öncelik sınıfını kullanın.

6.

/BELOWNORMAL

BELOWNORMAL öncelik sınıfını kullanın.

7.

/HIGH

YÜKSEK öncelik sınıfını kullanın.

8.

/REALTIME

GERÇEK ZAMAN öncelik sınıfını kullanın.

Örnekler

START "Test Batch Script" /Min test.bat

Yukarıdaki komut test.bat toplu komut dosyasını yeni bir pencerede çalıştıracaktır. Pencereler simge durumuna küçültülmüş modda başlayacak ve ayrıca "Toplu İş Komut Dosyasını Test Et" başlığına sahip olacaktır.

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

Yukarıdaki komut aslında Microsoft word'ü başka bir işlemde çalıştıracak ve ardından MS Word'de TESTA.txt dosyasını açacaktır.