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