Длительная задержка при первом запуске команды в окне DOS

Длительная задержка при первом запуске команды в окне DOS

Мы запускаем сервер (Win2k) с несколькими инструментами на нем. Все рабочие станции (XP) имеют PATH, настроенный на включение этой папки.

Когда мы запускаем инструмент (например grep) из DOS-бокса на рабочей станции, иногда возникает длительная задержка (до минуты) перед запуском инструмента. После задержки все происходит как обычно. Последующие запуски не имеют задержки, даже если запущены из другого DOS-бокса.

Есть идеи?

* ПОДРОБНЕЕ*

Этот сценарий всегда приводит к задержке. Мы работаем над инструментом в определенной папке на сервере. Инструмент редактируется и компилируется на одной рабочей станции в DOS-окне, которое расположено в папке, где собран инструмент, а затем запускается, задержка всегда есть. Следующий запуск в порядке. Поэтому повторная генерация EXE приводит к задержке.

решение1

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

Вы можете ускорить этот процесс (в Windows), выполнив следующую команду во время входа в систему:

Net Use \\ServerName

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

решение2

grep— это команда не Win32, а Unix, поэтому вы могли вызвать подсистему Unix, которая присутствует в старых версиях Windows.

Для поддержки этих команд Unix должен быть запущен специальный системный процесс, который может объяснить начальную задержку. Я не помню название процесса, но если вы используете что-то вроде Process Explorer, вы можете увидеть его запуск.

Может быть, этоСерия TechNetможет быть полезно. Подробности о подсистеме можно найти в книге "Windows Internals".

решение3

В вашем пути может быть сетевое расположение, для которого истекло время ожидания. Когда вы пытаетесь запустить программу из DOS или из пункта «Выполнить» в меню «Пуск», если исполняемый файл или файл сценария/пакетного файла сначала не найден в текущем рабочем каталоге, то выполняется поиск также в каждом каталоге, указанном в PATH.

Вы можете ввести "PATH" в окне DOS, чтобы увидеть, есть ли в списке что-нибудь за пределами диска C:. Если нет, то следующими подозреваемыми могут быть:

  1. Первая загрузка очень большой программы также может быть проблемой (потому что последующие использования будут осуществляться из кэша). У вас есть ссылка на инструмент "grep", который вы используете? Если это небольшая автономная программа, то это не должно быть проблемой

  2. Медленное антивирусное программное обеспечение (очень редко)

  3. Начинают возникать сбои в работе дисков (создайте полную резервную копию как можно скорее)

  4. Чрезмерная фрагментация файловой системы (легко устраняется запуском программы дефрагментации диска, которую можно найти в меню «Пуск» -> «Программы» -> «Стандартные» -> «Служебные» -> «Дефрагментация диска»)

Связанный контент