1
  trap 'TERM' do
    warn 'Exiting.'
    exit 1
  end

这将打印一个 10 行的堆栈跟踪。

如何抑制堆栈跟踪并静默退出?

红宝石 2.2.0

4

2 回答 2

1

你可以这样做:

trap "TERM" do
  warn "Exiting."
  $stderr.reopen(IO::NULL)
  $stdout.reopen(IO::NULL)
  exit 1
end
于 2015-09-11T00:38:25.340 回答
0

如果你击中Ctrl + C,信号会INT,不会TERM。如果你想同时抓住两者,你可以这样做:

p = proc do
  warn 'Exiting.'
  exit 1
end
trap 'INT',p
trap 'TERM',p
于 2015-09-11T00:35:59.477 回答