退出命令示例

时间:2015-12-01 14:26:01

标签: ruby command exit

我想在任何一点按一个键,导致模拟停止而不会丢失收集到的数据。我不知道怎么做退出命令。你能给我一些例子吗?

1 个答案:

答案 0 :(得分:2)

我认为,WandMaker的评论只讲述了故事的一半。

首先,没有一般规则,Control-C会中断你的程序(参见例如here),但是假设这适用于你的情况(因为它在很多情况下会起作用):< / p>

如果我理解你写的,你想以某种方式&#34;处理&#34;到目前为止收集的数据。这意味着您需要拦截Control-C的效果(如果它按预期工作,将使控制shell传递SIGINT),或者您需要拦截&#34;退出&#34; (因为收到SIGINT时的默认行为是退出程序)。

如果你想沿着第一条路走,你需要抓住Interrupt例外;例如,见here

如果您想要遵循第二条路线,则需要安装exit handler。请注意,当以正常方式退出程序时也会调用它。

如果你不确定哪种方式更好 - 而且我认为没有一种方法可以推荐另一种方式 - 请尝试第一种方式。你不小心毁掉了什么东西。