2
我使用Spring Shell来运行一些长时间运行的命令。无论如何,在Spring Shell中使用Control + C命令中断正在运行的命令而不退出shell。在Spring Shell中长时间运行命令执行中断
我使用Spring Shell来运行一些长时间运行的命令。无论如何,在Spring Shell中使用Control + C命令中断正在运行的命令而不退出shell。在Spring Shell中长时间运行命令执行中断
不幸的是,这不支持。对CTRL-C的支持在PR中,但不是用于杀死外部命令(而是用于取消到目前为止在提示符处输入的文本)。
此功能的当前状态是什么?我试图在命令中捕获UserInterruptException,但在按Ctrl-C后永远不会执行。有没有其他方法可以优雅地退出/中断长时间运行的命令?顺便说一句,我使用'spring-shell 2.0.0.M2'。 – user1480019
上面的评论是针对Spring Shell 1.x的。 Spring Shell 2.x现在支持捕获CTRL-C,但正如所解释的,不是用于中断长时间运行的命令,而是取消输入缓冲区。如果你想取消一个命令,你必须自己实现捕捉信号,我相信这需要利用本地库(JLine可能会有所帮助) – ebottard