我希望一些服务器,比如 MongDB,可以在 Windows 下的终端内运行。
我使用以下命令来运行它们:
start <PATHTOMONGO>\mongod.exe --dbpath <PATHTODATA>
标准 Windows 终端非常粗糙,例如,它不允许轻松复制/粘贴,也不允许(轻松)调整窗口大小。
因此我尝试使用以下命令从 Cygwin 运行 MinTTY:
<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
你是臭名昭著的mintty 问题 #56 - 改进对本机控制台程序的支持。 这mintty wiki 条目“与外星程序的输入/输出交互”指出你可以通过使用类似这样的包装器来解决问题温普蒂在 mintty 中运行问题程序时。
(这个问题很可能是如何从 cygwin 礼貌地终止 Windows 进程)