为什么 Ubuntu 不显示信号手册的第 3 部分?

Thi*_*ago 5 command-line

标题说明了一切。我正在运行 Ubuntu 20.04,我想阅读signal.

但是,当我在终端窗口中键入以下内容时:

$ man 3 signal
Run Code Online (Sandbox Code Playgroud)

我得到:

No manual entry for signal in section 3
Run Code Online (Sandbox Code Playgroud)

但是,我在网上的其他地方找到了它。我在这里缺少什么?

ste*_*ver 13

认为这是因为 -在 Linux 中-signal是作为系统调用而不是库函数实现的,因此属于手册的第 2 节而不是第 3 节。

您可以signal通过安装manpages-posix-dev软件包为 POSIX实现添加第 3 节手册页:

$ dpkg -S $(man -w 3 signal)
manpages-posix-dev: /usr/share/man/man3/signal.3posix.gz
Run Code Online (Sandbox Code Playgroud)

出于兼容性原因,glibc还提供了一个signal库函数,在联机帮助页的第 3 节中记录为bsd_signal

BSD_SIGNAL(3)              Linux Programmer's Manual             BSD_SIGNAL(3)

NAME
       bsd_signal - signal handling with BSD semantics

SYNOPSIS
       #include <signal.h>

       typedef void (*sighandler_t)(int);

       sighandler_t bsd_signal(int signum, sighandler_t handler);
Run Code Online (Sandbox Code Playgroud)

也可以看看: