mysql-proxy子进程异常退出

发布于 2021-11-21 20:04:17 字数 451 浏览 834 评论 4

@摩云飞 你好,想跟你请教个问题:

 2014-05-12 16:47:07: (critical) chassis-unix-daemon.c:189: [angel] PID=16542 died on signal=11 (it used 2 kBytes max) ... waiting 3min before restart 

我的mysql-proxy,总出现这个错误,是什么原因引起的,需要怎么解决这个问题

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

残花月 2021-11-25 15:49:38

你自己修改了 MySQL-Proxy 的源码么?我之前实验 MySQL-Proxy-0.8.3版本时,不会出现这个错误的啊

鹤舞 2021-11-25 14:48:04

我修改了代码,增加了对SIGSEGV 信号的处理,

但在5分钟后,进程会僵死掉

混吃等死 2021-11-25 14:24:42

针对 
SIGSEGV 错误,一般需要修改哪些?

情栀口红 2021-11-23 15:45:58

“signal=11” 说明出现了 SIGSEGV 错误,建议你 coredump 一下,然后用 gdb 查看具体原因。与你贴出的打印相关代码如下:

if (WIFEXITED(exit_status)) {
g_message("%s: [angel] PID=%d exited normally with exit-code = %d (it used %ld kBytes max)",
G_STRLOC,
child_pid,
WEXITSTATUS(exit_status),
rusage.ru_maxrss / 1024);
if (child_exit_status) *child_exit_status = WEXITSTATUS(exit_status);
return 1;
} else if (WIFSIGNALED(exit_status)) {
int time_towait = 2;
/* our child died on a signal
*
* log it and restart */

g_critical("%s: [angel] PID=%d died on signal=%d (it used %ld kBytes max) ... waiting 3min before restart",
G_STRLOC,
child_pid,
WTERMSIG(exit_status),
rusage.ru_maxrss / 1024);

/**
* to make sure we don't loop as fast as we can, sleep a bit between 
* restarts
*/

signal(SIGINT, SIG_DFL);
signal(SIGTERM, SIG_DFL);
signal(SIGHUP, SIG_DFL);
while (time_towait > 0) time_towait = sleep(time_towait);

nprocs--;
child_pid = -1;
} else if (WIFSTOPPED(exit_status)) {
}

这段代码的解释可以参考我的博客《
服务器开发之 Daemon 和 Keepalive

》,地址:
http://my.oschina.net/moooofly/blog/116454

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文