Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我们成了孤儿,再也没有控制台了_Linux_Docker_Freeswitch - Fatal编程技术网

Linux 我们成了孤儿,再也没有控制台了

Linux 我们成了孤儿,再也没有控制台了,linux,docker,freeswitch,Linux,Docker,Freeswitch,我在Docker中安装了Ubuntu映像上的Freeswitch,参考了前面提到的文档 当我做以下事情时: Start FreeSWITCH First Time cd /usr/local/freeswitch/bin ./freeswitch 我在命令提示符下进入了下面的屏幕 正如最后一行所说,[警告]开关控制台。c:1053我们成了孤儿,我们没有更多的控制台了。我相信这里出了问题 根据文档,我希望得到提示,比如freeswitch@domain> 有人知道问题出在哪里吗?在研究这个错

我在Docker中安装了Ubuntu映像上的Freeswitch,参考了前面提到的文档

当我做以下事情时:

Start FreeSWITCH
First Time

cd /usr/local/freeswitch/bin

./freeswitch
我在命令提示符下进入了下面的屏幕

正如最后一行所说,[警告]开关控制台。c:1053我们成了孤儿,我们没有更多的控制台了。我相信这里出了问题

根据文档,我希望得到提示,比如freeswitch@domain>


有人知道问题出在哪里吗?在研究这个错误后,我多次在不同的地方找到源文件,例如,有人提到我有同样的问题

如果我们查看Freeswitch的源代码,就会发现

    if (getppid() == 1) {
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "We've become an orphan, no more console for us.\n");
        break;
    }
我们看到pid==1,这意味着freeswitch的父进程是init进程,但我们在bash中启动了它 docker run-it freeswitch_容器bash

描述的问题


要解决这个问题,您只需要在运行bash时运行另一个bash,这样它就会有pid!=1.

您的docker run命令是什么样子的?您可能需要-it标志将控制台设置为交互式和TTY。首先,我使用docker run-I-t Ubuntu:14.10/bin/bash进入Ubuntu:14.10映像,然后我在Linux环境中工作。您发现问题了吗?