CMD.exe закрывается сразу после звонка (Win7 64) - PullRequest
9 голосов
/ 21 марта 2011

Кто-нибудь обнаружил такое поведение, когда командный процессор (cmd.exe) закрывается сразу после вызова? Я запустил McAfee AV и проверку системных файлов Windows (sfc.exe), и ничего плохого не было обнаружено, я даже скопировал файл cmd.exe с другой машины win 7, и он все еще работает так же. Самое странное - на Windows 7 64 есть также 32-битная версия этого файла, которая работает совершенно нормально.

SysInternals Process Monitor показывает, что процесс cmd.exe завершается с кодом выхода 0x0 ... o_O

Также вызов команд непосредственно из меню Пуск, например, ping, работает нормально…

Может быть, этот вопрос не связан строго с кодированием, но эта проблема удерживает меня от многих вещей, связанных с реальной разработкой приложений и проверкой среды.

Привет

Дом

Ответы [ 4 ]

38 голосов
/ 21 марта 2011

Отвечая на все вопросы:

  • суперпользователь, безопасный режим, запуск от имени администратора, смена владельца и прав доступа - не помогло
  • Я звонил с помощью меню «Пуск» и нажатием кнопки «dm-cmd.exe» с тем же результатом,
  • При сканировании с использованием McAfee не обнаружено ни одного вируса, ни вредоносного ПО, удаление вредоносного ПО MS и т. Д.

Наконец-то я понял это :

  • Выполнить regedit
  • Перейти к HKLM\Software\Microsoft\Command Processor\ или HKEY_CURRENT_USER\Software\Microsoft\Command Processor\ или HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\

  • По какой-то причине была кнопка AUTORUN с «EXIT» внутри.

  • Удалите ключ AutoRun, и все должно вернуться в нормальное состояние.
  • CMD.exe должен начать работать снова.

Кроме того,

В некоторых случаях при запуске также открывается командная строка, когда при применении вышеуказанного решения система зависает в командной строке при входе в систему.

Это можно исправить с помощью Autoruns , где необходимо отключить реестры запуска командной строки на вкладке «Вход в систему / запуск». ( может быть более одной записи )

Это также объясняет, почему код выхода был 0x0.

Понятия не имею, что это за ключ ... McAfee продемонстрировал активность на прошлой неделе, и я заметил это в прошлую пятницу.

Надеюсь, что эти симптомы и мой ответ помогут кому-то в будущем

3 голосов
/ 12 мая 2014

У меня возникла эта проблема, и я нашел что-то, что попыталось решить мою проблему.

Исследование записи реестра HKLM \ Software \ Microsoft \ Command Processor Если есть ключ «Автозапуск», этот ключ вызывает запись в пакетный файл.в этом ключе для запуска в начале выполнения командной строки.Вы можете попытаться пропустить это выполнение, чтобы протестировать решение с помощью RUN cmd.exe / d

. Если проблема связана с пользователем, проверьте ключ HKCU \ Software \ Microsoft \ Command Prompt.Запись текущего пользователя смешивается с записью локального компьютера, поэтому, если ключ существует в реестре текущего пользователя, он попытается выполнить указанный пакетный файл.На моем компьютере ключ был там, но пустой.Если в этом ключе есть пакетный файл, то выясните, что делает этот пакетный файл, и если вы хотите его там.Я удалил ключ все вместе, и проблема исчезла.
На моем компьютере ключ присутствовал у текущего пользователя, но не на локальном компьютере.

Каким-то образом какой-то вирус, возможно, поместил этот ключ в регистр, но так как он является действительным ключом, детекторам вредоносных программ трудно найти его.

Я не нашел других решений для этогопроблема в Интернете, поэтому, пожалуйста, сообщите другим, если это работает для вас.Я никогда не публиковал сообщения на форумах, но видел кучу вопросов об этом и о хороших решениях, поэтому я подумал, что должен публиковать сообщения.

Я получил представление об этом решении по этой ссылке.
http://software.oberberger.com/2008/09/interesting-stuff-about-cmdexe.html

Удачи.

1 голос
/ 09 января 2012

У меня была похожая проблема - cmd.exe закрывался сразу после запуска. Я смог сохранить его, выполнив cmd.exe /K cmd.exe, но он закрывался после любой недопустимой команды. Я обнаружил, что моя проблема была вызвана не кодовой страницей по умолчанию:

C:\>chcp
Active code page: 65001

Чтобы устранить проблему, я удалил запись реестра:

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9

Другим решением является замена cmd.exe шрифта с растровых шрифтов на шрифты с истинным шрифтом.

0 голосов
/ 21 марта 2011

Это выстрел в темноте, но в прошлом я сталкивался с подобными проблемами, когда неправильно определял отладчик с помощью Опции исполнения файла изображения .Вы можете проверить, есть ли там запись для cmd.exe.

...