Processo preso, não pode ser terminado

2

Eu estava trabalhando para um exercício em c, com codeblocks. Quando eu terminei, eu compilei & correu.

Em vez de rodar corretamente, a janela do cmd ficou em branco, não pôde receber nenhuma entrada nem mostrar nenhuma saída. Eu pesquisei um pouco e encontrei caras com um problema semelhante, com processos presos em seu gerenciador de tarefas.

Eu terminei os processos (cmd exercise1) de lá inicialmente, mas os codeblocks continuaram se comportando da mesma forma que antes.

Eu pesquisei um pouco mais e descobri sobre o Process Explorer e o Process Hacker. Eu tentei os dois, mas sem sorte. Estou preso com 2 processos no explorador de processos, incapaz de terminar, suspender ou reiniciá-los com o que eu tentei até agora.

Além disso, a partir de codeblocks, quando eu estou tentando fazer qualquer coisa com exercise1.c (o arquivo que está preso) ele compila com o erro "Permission Denied" e nunca roda corretamente, por favor ajude:)

    
por Nick Tritsis 27.11.2015 / 00:50

1 resposta

2

Isso me lembra quando eu estava programando o Windows Services e eles também eram impossíveis de parar de usar o Gerenciador de Tarefas do Windows.

Para resolver isso, tivemos que encontrar um código chamado EnableDebugPrivAndRun.cpp , compilá-lo para um executável e depois iniciar o Gerenciador de Tarefas com:

C:\>EnableDebugPrivAndRun.exe TaskMgr.exe

Com isso, o Gerenciador de Tarefas foi capaz de matar qualquer processo. Cuidado, até mesmo os processos principais do Windows podem ser eliminados (como o lsass.exe no Windows 2000) e você acaba de obter uma máquina congelada.

Ainda é possível encontrar o código e o artigo completo nesse artigo da Microsoft . O código está disponível quando você clica no link chamado Figure 3 .

Eu usei isso há muito tempo, em máquinas Windows NT4 e Windows 2000, não tenho certeza se ainda funcionará para a versão mais recente do Windows e talvez agora essa ferramenta seja fornecida pelo mais recente ambiente de desenvolvimento da Microsoft.

ATUALIZAÇÃO: Aparentemente, alguns outros usuários encontraram uma solução nesta pergunta do SuperUser e também encontrei uma ferramenta de depuração do Windows que contém um kill que também deve executar o trabalho.

Extrato do site do MSDN:

Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)

3 ways to get Debugging Tools for Windows:

  • As part of the WDK Install Microsoft Visual Studio and then install the Windows Driver Kit (WDK). Debugging Tools for Windows is included in the WDK.

  • As part of the Windows SDK Install the Windows Software Development Kit > (SDK). Debugging Tools for Windows is included in the Windows SDK.

  • As a standalone tool set If you want to download only Debugging Tools for Windows, install the Windows SDK, and, during the installation, select the Debugging Tools for Windows box and clear all the other boxes.

O kit de ferramentas de depuração está disponível aqui .

    
por 27.11.2015 / 01:31