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.