![为什么 Ubuntu 不显示信号手册第 3 部分?](https://linux22.com/image/1208678/%E4%B8%BA%E4%BB%80%E4%B9%88%20Ubuntu%20%E4%B8%8D%E6%98%BE%E7%A4%BA%E4%BF%A1%E5%8F%B7%E6%89%8B%E5%86%8C%E7%AC%AC%203%20%E9%83%A8%E5%88%86%EF%BC%9F.png)
标题说明了一切。我正在运行 Ubuntu 20.04,我想阅读文档的第 3 部分signal
。
但是,当我在终端窗口中输入以下内容时:
$ man 3 signal
我得到:
No manual entry for signal in section 3
但是,我在网上的其他地方找到了它。我在这里遗漏了什么?
答案1
我思考这是因为 -在 Linux 中-signal
实现为系统调用而不是库函数,因此属于手册的第 2 部分而不是第 3 部分。
signal
您可以通过安装该包来添加 POSIX 实现的第 3 节手册页manpages-posix-dev
:
$ dpkg -S $(man -w 3 signal)
manpages-posix-dev: /usr/share/man/man3/signal.3posix.gz
出于兼容性原因,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);
也可以看看: