无法使用exit或quit退出Asterisk CLI

时间:2016-06-14 20:50:01

标签: linux command-line-interface asterisk exit

我使用以下命令启动了Asterisk CLI。

asterisk -vvvvvvc

当我尝试使用exit退出CLI或退出时,我会看到以下错误:

*CLI> exit
No such command 'exit' (type 'core show help exit' for other possible commands)
*CLI> quit
No such command 'quit' (type 'core show help quit' for other possible commands)

我可以使用^C退出CLI。为什么退出并退出不起作用?

3 个答案:

答案 0 :(得分:2)

如错误消息所示,没有“退出”或“退出”命令。但是Asterisk维基上有一个条目,讨论如何从CLI停止Asterisk:https://wiki.asterisk.org/wiki/display/AST/Stopping+and+Restarting+Asterisk+From+The+CLI

你应该使用的命令是“核心停止”(但是,请注意,这实际上会杀死星号,而不仅仅是shell),并且你有一些可用的选项:

*CLI> help core stop
core stop gracefully           -- Gracefully shut down Asterisk
core stop now                  -- Shut down Asterisk immediately
core stop when convenient      -- Shut down Asterisk at empty call volume

在任何情况下,通过使用-c标志启动星号,您不是将其作为服务启动,而是在前台启动,这意味着如果您希望Asterisk继续运行,则必须打开shell。

你应该在没有-c标志的情况下启动它,然后使用-r连接它:https://wiki.asterisk.org/wiki/display/AST/Connecting+to+the+Asterisk+CLI

然后你可以使用^ C退出“远程shell”。 Asterisk将继续在后台运行。我个人喜欢使用daemontools来启动和监督服务:http://cr.yp.to/daemontools/svc.html

希望它有所帮助!

答案 1 :(得分:1)

您应该首先启动<app-drawer-layout fullbleed force-narrow> <!-- Content --> </app-drawer-layout> 守护程序。然后连接到控制台。:

启动守护程序非常简单:

asterisk

然后你可以连接到具有所有详细程度的控制台:

$>asterisk

我不相信你使用$>asterisk -rvvvvvv 有任何优雅的退出。

答案 2 :(得分:0)

如果在前台运行,则启动了Asterisk,例如:

asterisk -gcvvvvvvvvv

如果尝试使用quit命令,该命令将不起作用,因为您正在前台运行。

尝试连接到在后台运行的Asterisk控制台,然后使用quit或exit:

[root@localhost asterisk]# asterisk -rvvv

localhost*CLI> exit

-r:连接到在后台运行的Asterisk,并显示Asterisk CLI

-v:详细命令。添加更多的“ v”:以获取更多消息。

输出:

星号完全结束(0)。执行最后一分钟的清理

要检查星号是否正在运行:

[root@localhost asterisk]# ps -ef | grep asterisk

要停止星号过程:

cli> core stop now

要启动星号服务,请执行以下操作:

 [root@localhost asterisk]# service asterisk start

要停止星号服务,请执行以下操作:

 [root@localhost asterisk]# service asterisk stop