Batch Script - Proses

Pada bab ini, kita akan membahas berbagai proses yang terlibat dalam Batch Script.

Melihat Daftar Proses yang Berjalan

Dalam Batch Script, perintah TASKLIST dapat digunakan untuk mendapatkan daftar proses yang sedang berjalan di dalam sistem.

Sintaksis

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
S.No. Opsi & Deskripsi
1.

/S system

Menentukan sistem jarak jauh yang akan dihubungkan

2.

/U

[domain\]user

Menentukan konteks pengguna tempat perintah harus dijalankan.

3.

/P [password]

Menentukan kata sandi untuk konteks pengguna tertentu. Minta masukan jika dihilangkan.

4.

/M [module]

Mencantumkan semua tugas yang saat ini menggunakan nama exe / dll yang diberikan. Jika nama modul tidak ditentukan, semua modul yang dimuat akan ditampilkan.

5.

/SVC

Menampilkan layanan yang dihosting di setiap proses.

6.

/V

Menampilkan informasi tugas verbose.

7.

/FI filter

Menampilkan sekumpulan tugas yang cocok dengan kriteria tertentu yang ditentukan oleh filter.

8.

/FO format

Menentukan format keluaran. Nilai yang valid: "TABLE", "LIST", "CSV".

9.

/NH

Menentukan bahwa "Column Header" tidak boleh ditampilkan di keluaran. Hanya valid untuk format "TABLE" dan "CSV".

Contoh

TASKLIST

Perintah di atas akan mendapatkan daftar semua proses yang berjalan di sistem lokal Anda. Berikut ini adalah snapshot dari output yang diberikan ketika perintah di atas dijalankan sebagaimana adanya. Seperti yang Anda lihat dari output berikut, Anda tidak hanya mendapatkan berbagai proses yang berjalan di sistem Anda, Anda juga mendapatkan penggunaan memori dari setiap proses.

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

Perintah di atas mengambil output yang ditampilkan oleh tasklist dan menyimpannya ke file process.txt.

tasklist /fi "memusage gt 40000"

Perintah di atas hanya akan mengambil proses yang memorinya lebih dari 40MB. Berikut ini adalah contoh keluaran yang dapat dirender.

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

Membunuh Proses Tertentu

Mengizinkan pengguna yang menjalankan Microsoft Windows XP professional, Windows 2003, atau yang lebih baru untuk menghentikan tugas dari baris perintah Windows dengan id proses (PID) atau nama gambar. Perintah yang digunakan untuk tujuan ini adalah perintah TASKILL.

Sintaksis

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]
S.No. Opsi & Deskripsi
1.

/S system

Menentukan sistem jarak jauh yang akan dihubungkan

2.

/U

[domain\]user

Menentukan konteks pengguna tempat perintah harus dijalankan.

3.

/P [password]

Menentukan kata sandi untuk konteks pengguna tertentu. Minta masukan jika dihilangkan.

4.

/FI

FilterName

Menerapkan filter untuk memilih sekumpulan tugas. Mengizinkan "*" untuk digunakan. ex. imagename eq acme * Lihat filter di bawah untuk informasi tambahan dan contoh.

5.

/PID

processID

Menentukan PID dari proses yang akan dihentikan. Gunakan TaskList untuk mendapatkan PID.

6.

/IM

ImageName

Menentukan nama gambar dari proses yang akan dihentikan. Karakter pengganti '*' dapat digunakan untuk menentukan semua tugas atau nama gambar.

7.

/T

Menghentikan proses yang ditentukan dan setiap proses anak yang dimulai olehnya.

8.

/F

Menentukan untuk secara paksa menghentikan proses.

Contoh

taskkill /f /im notepad.exe

Perintah di atas mematikan tugas notepad yang terbuka, jika terbuka.

taskill /pid 9214

Perintah di atas menghentikan proses yang memiliki proses 9214.

Memulai Proses Baru

Skrip DOS juga tersedia untuk memulai proses baru sama sekali. Ini dicapai dengan menggunakan perintah MULAI.

Sintaksis

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

Di mana

  • title - Teks untuk bilah judul jendela CMD (diperlukan.)

  • path - Memulai direktori.

  • command - Perintah, file batch atau program yang dapat dijalankan untuk dijalankan.

  • parameters - Parameter yang diteruskan ke perintah.

S.No. Opsi & Deskripsi
1.

/MIN

Jendela Mulai Diminimalkan

2.

/MAX

Jendela mulai dimaksimalkan.

3.

/LOW

Gunakan kelas prioritas IDLE.

4.

/NORMAL

Gunakan kelas prioritas NORMAL.

5.

/ABOVENORMAL

Gunakan kelas prioritas ABOVENORMAL.

6.

/BELOWNORMAL

Gunakan kelas prioritas BELOWNORMAL.

7.

/HIGH

Gunakan kelas prioritas TINGGI.

8.

/REALTIME

Gunakan kelas prioritas REALTIME.

Contoh

START "Test Batch Script" /Min test.bat

Perintah di atas akan menjalankan test.bat batch script di jendela baru. Jendela akan mulai dalam mode diminimalkan dan juga memiliki judul "Test Batch Script".

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

Perintah di atas sebenarnya akan menjalankan Microsoft word dalam proses lain dan kemudian membuka file TESTA.txt di MS Word.