Script de lote - processo

Neste capítulo, discutiremos os vários processos envolvidos no Batch Script.

Ver a lista de processos em execução

No Batch Script, o comando TASKLIST pode ser usado para obter a lista dos processos atualmente em execução em um sistema.

Sintaxe

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
S.No. Opções e descrição
1

/S system

Especifica o sistema remoto para se conectar

2

/U

[domain\]user

Especifica o contexto do usuário sob o qual o comando deve ser executado.

3 -

/P [password]

Especifica a senha para o contexto de usuário fornecido. Solicita entrada, se omitido.

4

/M [module]

Lista todas as tarefas atualmente usando o nome exe / dll fornecido. Se o nome do módulo não for especificado, todos os módulos carregados serão exibidos.

5

/SVC

Exibe serviços hospedados em cada processo.

6

/V

Exibe informações detalhadas da tarefa.

7

/FI filter

Exibe um conjunto de tarefas que correspondem a um determinado critério especificado pelo filtro.

8

/FO format

Especifica o formato de saída. Valores válidos: "TABLE", "LIST", "CSV".

9

/NH

Especifica que o "Cabeçalho da coluna" não deve ser mostrado na saída. Válido apenas para os formatos "TABLE" e "CSV".

Exemplos

TASKLIST

O comando acima obterá a lista de todos os processos em execução em seu sistema local. A seguir está um instantâneo da saída que é renderizada quando o comando acima é executado como está. Como você pode ver na saída a seguir, não apenas obtém os vários processos em execução em seu sistema, mas também o uso de memória de cada processo.

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

O comando acima pega a saída exibida pela lista de tarefas e salva no arquivo process.txt.

tasklist /fi "memusage gt 40000"

O comando acima irá buscar apenas os processos cuja memória seja maior que 40 MB. A seguir está um exemplo de saída que pode ser renderizado.

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

Matando um Processo Particular

Permite que um usuário executando o Microsoft Windows XP Professional, Windows 2003 ou posterior elimine uma tarefa de uma linha de comando do Windows por ID de processo (PID) ou nome de imagem. O comando usado para este propósito é o comando TASKILL.

Sintaxe

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]
S.No. Opções e descrição
1

/S system

Especifica o sistema remoto para se conectar

2

/U

[domain\]user

Especifica o contexto do usuário sob o qual o comando deve ser executado.

3 -

/P [password]

Especifica a senha para o contexto de usuário fornecido. Solicita entrada, se omitido.

4

/FI

FilterName

Aplica um filtro para selecionar um conjunto de tarefas. Permite que "*" seja usado. ex. imagename eq acme * Consulte os filtros abaixo para obter informações adicionais e exemplos.

5

/PID

processID

Especifica o PID do processo a ser encerrado. Use TaskList para obter o PID.

6

/IM

ImageName

Especifica o nome da imagem do processo a ser encerrado. O curinga '*' pode ser usado para especificar todas as tarefas ou nomes de imagem.

7

/T

Encerra o processo especificado e quaisquer processos filho iniciados por ele.

8

/F

Especifica o encerramento forçado do (s) processo (s).

Exemplos

taskkill /f /im notepad.exe

O comando acima elimina a tarefa aberta do bloco de notas, se aberta.

taskill /pid 9214

O comando acima mata um processo que tem um processo de 9214.

Iniciando um Novo Processo

O script DOS também tem a disponibilidade de iniciar um novo processo. Isso é feito usando o comando START.

Sintaxe

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

Em que

  • title - Texto para a barra de título da janela CMD (obrigatório).

  • path - Diretório inicial.

  • command - O comando, arquivo em lote ou programa executável a ser executado.

  • parameters - Os parâmetros passados ​​para o comando.

S.No. Opções e descrição
1

/MIN

Janela inicial minimizada

2

/MAX

Janela inicial maximizada.

3 -

/LOW

Use a classe de prioridade IDLE.

4

/NORMAL

Use a classe de prioridade NORMAL.

5

/ABOVENORMAL

Use a classe de prioridade ABOVENORMAL.

6

/BELOWNORMAL

Use a classe de prioridade BELOWNORMAL.

7

/HIGH

Use a classe de alta prioridade.

8

/REALTIME

Use a classe de prioridade REALTIME.

Exemplos

START "Test Batch Script" /Min test.bat

O comando acima executará o script em lote test.bat em uma nova janela. As janelas iniciarão no modo minimizado e também terão o título de “Script de lote de teste”.

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

O comando acima irá executar o Microsoft Word em outro processo e então abrir o arquivo TESTA.txt no MS Word.