SIGTERM和SIGKILL旨在满足通用的“终止此过程”请求。SIGTERM(默认情况下)和SIGKILL(始终)将导致进程终止。SIGTERM可能会被该进程捕获(例如,以便它可以根据自己的意愿进行清理),甚至被完全忽略;但是SIGKILL不能被捕获或忽略。
SIGINT和SIGQUIT专门用于来自终端的请求:可以分配特定的输入字符以生成这些信号(取决于终端控制设置)。SIGINT的默认操作与SIGTERM的默认操作和SIGKILL的不可更改操作的进程终止相同。SIGQUIT的默认操作也是进程终止,但是可能会发生其他实现定义的操作,例如生成核心转储。如果需要,该过程可以捕获或忽略它们。
如您所说,SIGHUP旨在表明端子连接已丢失,而不是这样的终止信号。但是,同样,SIGHUP的默认操作(如果该进程未捕获或忽略它)是与SIGTERM等相同的方式终止该进程。
POSIX定义中有一张表格,
signal.h其中列出了各种信号以及它们的默认操作和目的,“
常规终端接口”一章包括与终端相关的信号的更多详细信息。



