1

我正在尝试找到一种方法以调试模式启动 Kamailio 或 OpenSIP 服务器的单个进程,但我无法这样做。

我正在使用以下命令在前台启动 Kamailio

./kamailio -l 192.168.1.117:5060 -eD

执行命令后,我看到 4 kamailio 进程正在启动

ps aux | grep kamailio
meetme2meat     27433   0.0  0.0  2461016    464 s004  U+    6:18PM   0:00.00 grep kamailio
meetme2meat     27370   0.0  0.0  2558672   1828 s005  S+    6:16PM   0:00.01 ./kamailio -l 192.168.1.117:5060 -eD
meetme2meat     27369   0.0  0.0  2558672   1836 s005  S+    6:16PM   0:00.01 ./kamailio -l 192.168.1.117:5060 -eD
meetme2meat     27368   0.0  0.0  2558672   1800 s005  S+    6:16PM   0:00.01 ./kamailio -l 192.168.1.117:5060 -eD
meetme2meat     27367   0.0  0.2  2549432   6864 s005  S+    6:16PM   0:00.04 ./kamailio -l 192.168.1.117:5060 -eD

有什么线索吗??

4

2 回答 2

2

即使在 no-fork 模式下,Kamailio 也会创建一些额外的进程,因为它们在运行时需要,例如通过 UDP 进行重传的计时器进程。换句话说,您无法获得单个进程。

您可以运行下一个命令来查看有关创建的进程类型的详细信息:

kamctl ps
于 2015-08-28T15:58:00.000 回答
0

这是调试 Kamailio 的非常有用的指南: https ://topic.alibabacloud.com/a/opensipskamailio-gdb-code-debugging-method-detailed_8_8_30118342.html

为了使用调试器附加到 Kamailio 的 tcp 接收器进程,请使用以下命令:

gdb attach $(/usr/local/sbin/kamcmd -s unix:/var/run/kamailio/kam_ctl ps | grep 'tcp receiver'| awk '{print $1}')

PS:用你的改变你的kamailio“/var/run/kamailio/kam_ctl”的unix域套接字。

于 2021-04-01T20:03:07.357 回答