信号介绍
SIGINT 和 SIGTSTP 是 UNIX /类UNIX 系统中的两种不同的信号,它们用于进程间通信和控制.
-
SIGINT(Signal Interrupt)
- 含义:中断信号
- 默认行为:终止进程
- 通常触发方式:用户在终端按下 Ctrl+C
- 信号编号:通常为 2
- 目的:用于请求程序立即终止
-
SIGTSTP(Signal Terminal Stop)
- 含义:终端停止信号
- 默认行为:暂停(挂起)进程
- 通常触发方式:用户在终端按下 Ctrl+Z
- 信号编号:通常为 20
- 目的:用于暂停进程的执行,但不终止进程
区别
-
行为不同:
- SIGINT 通常会终止进程
- SIGTSTP 会暂停进程,但不终止它
-
恢复方式:
- SIGINT 终止进程后,无法直接恢复
- SIGTSTP 暂停进程后,可以通过 SIGCONT 信号恢复执行
-
用途:
- SIGINT 用于中断正在运行的程序
- SIGTSTP 用于暂时停止程序,稍后可以恢复
-
默认键盘快捷键:
- SIGINT 通常由 Ctrl+C 触发
- SIGTSTP 通常由 Ctrl+Z 触发
-
程序响应:
- 程序可以捕获并处理这两种信号
- 对 SIGINT 的处理通常用于清理资源后优雅地退出
- 对 SIGTSTP 的处理可能包括保存状态以便稍后恢复