Как заставить MinTTY корректно закрываться по Ctrl-C?

1014
Dims

Я хотел бы, чтобы некоторые серверы, такие как MongDB, работали внутри терминала под Windows.

Я использую следующую команду для их запуска:

start <PATHTOMONGO>\mongod.exe --dbpath <PATHTODATA> 

Стандартный терминал Windows очень грубый, например, он не позволяет легко копировать / вставлять и не позволяет (легко) изменять размер окна.

Поэтому я попробовал MinTTY от Cygwin с помощью следующей команды:

<PATHTOMINTTY>\mintty.exe -e <PATHTOMONGO>\mongod.exe --dbpath <PATHTODATA> 

Я обнаружил, что он работает нормально, за исключением одной вещи: если я нажимаю Ctrl-C, он просто убивает сервер, не позволяя ему корректно завершить работу.

Если я использую следующую команду:

<PATHTOMINTTY>\mintty.exe --hold always -e <PATHTOMONGO>\mongod.exe --dbpath <PATHTODATA> 

Я вижу красное сообщение в конце вывода на сервер

<PATHTOMONGO>\mongod.exe: Interrupt 

и сервер просто останавливается.

Наоборот, в Windows startон печатает много сообщений, указывающих на постепенное отключение.

Похоже, minttyвыполняет некоторый перевод Ctrl-Cкомбинации клавиш. Как избежать / настроить это?

1
У меня это нормально работает с Cygwin Bash. Daniel B 8 лет назад 1
Попробуйте mongodb, как я описал, пожалуйста Dims 8 лет назад 0

1 ответ на вопрос

0
Anon

Вы - жертва печально известной проблемы № 56 - Улучшение поддержки нативных консольных программ . Вход «Input / Output взаимодействие с чужеродными программами» mintty вики указывает, вы можете обойти эту проблему с помощью обертку как winpty при запуске программы проблемы в mintty.

(Этот вопрос, вероятно, является дубликатом Как вежливо убить процесс Windows из Cygwin )

Похожие вопросы