Linux 脚本控制:信号处理与后台运行全解析
在 Linux 系统中编写和执行高级脚本时,我们常常需要考虑如何有效地运行和控制这些脚本。本文将详细介绍 Linux 脚本控制的相关知识,包括信号处理、后台运行以及避免挂断等方面。
1. 信号处理
Linux 系统使用信号与运行中的进程进行通信。系统和应用程序可以生成超过 30 种不同的 Linux 信号,下面是一些常见的信号及其描述:
| 信号 | 值 | 描述 |
| ---- | ---- | ---- |
| SIGHUP | 1 | 挂起进程 |
| SIGINT | 2 | 中断进程 |
| SIGQUIT | 3 | 停止进程 |
| SIGKILL | 9 | 无条件终止进程 |
| SIGTERM | 15 | 尽可能终止进程 |
| SIGCONT | 18 | 继续停止的进程 |
| SIGSTOP | 19 | 无条件停止,但不终止进程 |
| SIGTSTP | 20 | 停止或暂停进程,但不终止 |
1.1 向 Bash shell 发送信号
默认情况下,Bash shell 会忽略收到的 SIGQUIT (3) 和 SIGTERM (15) 信号,但不会忽略 SIGHUP (1) 和 SIGINT (2) 信号。当 Bash shell 收到 SIGHUP 信号时,它会退出,并将该信号传递给由该 shell 启动的所有进程,包括正在运行的 shell 脚本。而收到 SIGINT 信号时,shell 会被中断,Linux 内核会停止为 shell 分配 CPU 处理时间,同时 she
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



