No momento, o Slack está pendurado para mim. Às vezes é o Chrome, às vezes outro aplicativo.
Clicar com o botão direito do mouse no ícone na barra de tarefas e escolher fechar não fecha o aplicativo
Eu quero matá-lo no Gerenciador de Tarefas.
Quando abro no gerenciador de tarefas, ele não aparece como um aplicativo em execução
Quando reviso os processos em execução, ele aparece várias vezes
No momento, tenho que fechar cada um desses processos individualmente (e sempre parece que um aleatório fechará todos os processos)
Eu gostaria de fechá-los de uma vez! Isso é possível?
Você pode fazer isso usando taskkill, em um prompt de comando elevado (cmd executado como administrador).
Você precisa saber o nome exato do arquivo .exe. Para fazer isso, você pode simplesmente clicar com o botão direito do mouse em um dos processos do slack e clicar em "abrir local do arquivo". Aqui está um exemplo:
Eu tenho dois processos obs
Localizei o .exe real clicando com o botão direito do mouse no processo no gerenciador de tarefas e clicando em "abrir local do arquivo" ( arquivo obs .exe )
agora, em um prompt de comando elevado, se eu fizer:
Ambos os processos serão mortos simultaneamente. Espero que isso responda à sua pergunta e funcione para o seu processo específico.
Meu método para matar processos de qualquer tipo é o PowerShell. É muito simples e rápido, o suporte a curingas significa que você não precisa saber o nome exato do processo e funciona com várias instâncias. Normalmente, você não precisa saber o caminho exato do arquivo. Embora o PowerShell seja imensamente poderoso, esse truque é bastante simples, então não desanime.
AVISO: tome os devidos cuidados! Se você matou todos os processos com o nome definido como
*
, presumo que todos os processos morreriam!Abra o PowerShell (não precisa ser aberto como administrador, a menos que você receba uma mensagem de erro solicitando elevação). Você pode abri-lo pesquisando "PowerShell" no menu Iniciar ou indo para Iniciar > Todos os aplicativos > Windows PowerShell > Windows PowerShell (Ignore os programas que terminam com "x86" ou "ISE" - eles fazem o mesmo trabalho praticamente)
Digite
Kill -name progam
ondeprogram
é o nome do executável. Existem várias maneiras de fazer isso - se eu não souber o nome exato da memória, verificarei aDetails
guia no Gerenciador de tarefas e encontrarei o nome do executável.Pressione
Enter
para executar o comando.Exemplo:
Eu tenho 3x prompts de comando abertos:
Que são mostrados no gerenciador de tarefas como cmd.exe
Digite o comando no PowerShell:
Pressione enter e todos os processos em execução chamados "cmd" serão eliminados .
Para o seu caso, você pode simplesmente entrar
kill -name slack
para matar todos os seus processos de folga de uma só vez.O uso de curingas, como
*
é permitido, para eliminar todos os processos do Dropbox, posso executarkill -name drop*
- observe que, como não executei o comando de um PowerShell elevado, existem alguns processos que não podem ser eliminados devido a permissões. Isso é facilmente corrigido abrindo o PowerShell como administrador, é claro.Você pode usar um Gerenciador de Tarefas diferente - por exemplo , Process Explorer . A visualização "árvore" permite encontrar o processo pai e finalizá-lo. Isso matará também todas as outras crianças geradas.
Se é sempre o mesmo binário que trava e você não se importa em salvar dados, você pode preparar um link para ativar PSKILL ou TASKKILL contra esse binário. Defina os privilégios do link para "executar como administrador" e dê a ele o ícone do explosivo de PIFMGR.DLL :-) - então toda vez que você clicar no ícone do detonador, o processo e todos os seus filhos serão encerrados.
PSKILL/TASKKILL são um último recurso; Eu preferiria usar o Process Explorer se pudesse.
Às vezes (depende do processo e do que ele está fazendo), o que acontece é que o processo pai gera vários filhos para cuidar dos negócios, enquanto o pai orquestra suas operações. Agora, o que pode acontecer é que o pai requer que alguma tarefa seja executada (por exemplo, um status obtido do servidor de comando e controle). Se o programa estiver bem codificado o suficiente, tanto um sucesso quanto uma falha serão tratados, mas pode acontecer que o filho não retorne nenhum e permaneça preso porque sua conexão deixou de responder. Na falta de confirmação, todas as outras crianças permanecem imóveis. O programa não está bloqueado porque o paiainda está consumindo mensagens de janela e não será encerrado porque a mensagem solicitando isso é interceptada pelo pai, que aguarda um desligamento ordenado dos filhos - o que não acontecerá.
O Process Explorer também pode mostrar os identificadores abertos, incluindo alguns tipos de conexões de rede. Você pode, às vezes, inferir qual criança está presa e matá-la. Em seguida, o pai receberá um erro e travará ou notificará o erro e tentará novamente, ou interromperá ou continuará seus negócios - o que me permitiu várias vezes salvar meu trabalho antes de reiniciar o programa.
(Um processo que tinha o hábito de travar exatamente como você descreve era uma ferramenta SQL quando usada através de um túnel VPN. Uma consulta muito longa e complexa de alguma forma fazia com que o filho conectado travasse, e isso geralmente acontecia após longos períodos criativos nos quais eu refinou e otimizou repetidamente alguma consulta, depois de um tempo esquecendo de salvá-la antes de cada tentativa).
killall file-roller Este comando funcionará e matará todas as instâncias de um programa instantaneamente.