如何在erlang中禁止禁止ctrl + c

时间:2017-03-10 12:22:26

标签: erlang

我使用run_erl来启动erlang应用程序,就像这样

.notification-bar {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 3.2rem;
  color: #fff;
  font-family: 'Avenir Next', sans-serif;
  font-size: 1.2em;
  line-height: 3.2rem;
  text-align: center;
}
.notification-bar--error {
  background-color: #f02a4d;
}
.notification-bar--warning {
  background-color: #ffc107;
}
.notification-bar--info {
  background-color: #2196f3;
}
.notification-bar.visible-enter, .notification-bar.visible-leave-to {
  top: -3.2rem;
}
.notification-bar.visible-enter-to, .notification-bar.visible-leave {
  top: 0;
}
.notification-bar.visible-enter-active, .notification-bar.visible-leave-active {
  transition: top 266ms ease;
}

/* ================================================================== */
/*                                                                    */
/* ================================================================== */
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  border: 1px solid black;
  font-family: sans-serif;
}

label {
  display: block;
  margin: 2rem 0;
  font-size: 1.4rem;
}

label:first-of-type {
  margin-top: 5rem;
}

然后我像这样附加到erlang shell

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title></title>
</head>
<body>
  <div id="app"></div>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.10/vue.js"></script>
</body>
</html>

问题是,我曾经用'ctrl + c'退出erlang shell,在这种情况下,'ctrl + c'将退出主节点,我看到我通过修改erlang / OTP来禁止这个命令源代码,怎么做?

1 个答案:

答案 0 :(得分:4)

erl +Bi启动Erlang。请注意,如果忽略信号,则必须使用init:stop()(shell中的快捷q())或halt()来停止节点。此外,如果您使用此标志,Ctrl-G菜单将没有q选项。

也可以使用+Bc,这使得Ctrl-C中止当前的shell命令而不是停止整个节点。在这种情况下,您仍然可以使用Ctrl-G菜单中的q。

有关运行时系统标志的完整文档,请参阅http://erlang.org/doc/man/erl.html#emu_flags