我使用以下命令启动了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。为什么退出并退出不起作用?
答案 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