Waitpid unknown return 在 gdb 中输入

Waitpid unknown return type in gdb

我尝试在不杀死父进程的情况下删除僵尸进程。我在 k8s 实例上的基于 debian 11 的容器中。 父级上的 SIGCHLD 不起作用,自然 SIGKILL 和 SIGTERM 不适用于 Zs。

我最近的做法是使用gdb。通过附加到父进程并使用 call waitpid (44,0,0) 命令,我遇到了以下错误: 'waitpid' has unknown return type; cast the call to its declared return type

我理解这个问题并尝试以各种方式将其转换为 pid_t 但我无法解决问题。我应该如何正确地调用 gdb 来接受它(我对 return 值不感兴趣,我只想删除它们)?

I understand the problem and tried to cast it to pid_t Try casting it in int.

(gdb) call (int) waitpid(13685, 0,0)
(gdb) detach