【发布时间】:2015-12-07 10:28:19
【问题描述】:
trap 'TERM' do
warn 'Exiting.'
exit 1
end
这会打印一个 10 行的堆栈跟踪。
如何抑制堆栈跟踪并静默退出?
Ruby 2.2.0
【问题讨论】:
trap 'TERM' do
warn 'Exiting.'
exit 1
end
这会打印一个 10 行的堆栈跟踪。
如何抑制堆栈跟踪并静默退出?
Ruby 2.2.0
【问题讨论】:
你可以这样做:
trap "TERM" do
warn "Exiting."
$stderr.reopen(IO::NULL)
$stdout.reopen(IO::NULL)
exit 1
end
【讨论】:
如果你按 Ctrl + C,信号将是INT,而不是TERM。如果你想同时抓住两者,你可以这样做:
p = proc do
warn 'Exiting.'
exit 1
end
trap 'INT',p
trap 'TERM',p
【讨论】: