Я использую Python 2.6 в Windows 7. У меня есть файл Windows .CMD, который вызывает Python для запуска веб-сервера Cherrypy (версия 3.1 .2). Я запускаю этот файл .cmd, выполняя его в приглашении в оболочку CMD Windows. Когда Crebrypy замечает, что один из его зависимых файлов изменился, он перезапускается. В этой конфигурации на Windows возникают пара, которые возникают пара, потому что вызов, который CherryPy использует для перезапуска, это
os.execv(sys.executable, args)
, но вы не можете вызвать исполняемый файл Python в файле .cmd. Мне удалось обойти эту проблему через различные гимнастики Python, и теперь я получил его перезапущен, вызывая (по существу)
os.execv(sys.argv[0], args)
, но перезапущенный процесс отсоединен с клавиатуры; Он поймает Ctrl-C, а затем просим
Terminate batch job (Y/N)?
, но тип Y или Ni попадает не заканчивая файл .cmd, но в оболочке Windows CMD, и она отвечает
'Y' is not recognized as an internal or external command, operable program or batch file.
, так как я могу установить Вещи в Windows, чтобы сохранить перезапущенный процесс в том, что я бы назвал «передним планом» в UNIX?