SIGCONT 用于通知暂停的进程继续 。
SIGALRM 起到定时器的作用,通常是程序在一定的时间之后才生成该信号 。
在shell中使用信号
下面我们实际应用一下信号 。我们在shell中运行ping:
代码如下:
$ping localhost
此时我们可以通过CTRL+Z来将SIGTSTP传递给该进程 。shell中显示:
代码如下:
[1]+ Stopped ping localhost
我们使用$ps来查询ping进程的PID (PID是ping进程的房间号),在我的机器中为27397
我们可以在shell中通过$kill命令来向某个进程发出信号:
代码如下:
$kill -SIGCONT 27397
来传递SIGCONT信号给ping进程 。
信号处理 (signal disposition)
在上面的例子中,所有的信号都采取了对应信号的默认操作 。但这并不绝对 。当进程决定执行信号的时候,有下面几种可能:
1) 无视(ignore)信号,信号被清除,进程本身不采取任何特殊的操作
2) 默认(default)操作 。每个信号对应有一定的默认操作 。比如上面SIGCONT用于继续进程 。
3) 自定义操作 。也叫做获取 (catch) 信号 。执行进程中预设的对应于该信号的操作 。
进程会采取哪种操作,要根据该进程的程序设计 。特别是获取信号的情况,程序往往会设置一些比较长而复杂的操作(通常将这些操作放到一个函数中) 。
信号常常被用于系统管理,所以它的内容相当庞杂 。深入了解信号,需要一定的Linux环境编程知识 。
总结
信号机制; generate,deliver,pending,blocking
signal action/dispositon; ignore,default action,catch signal
$kill
【Linux信号机制的简单介绍】 上面就是Linux信号机制的相关介绍了,Linux信号机制远比想象中的复杂,短短几个篇幅是很难讲全的,如果你对Linux信号机制感兴趣,可找相关书籍了解 。
推荐阅读
- wlan信号桥是什么
- 孩子将来不孝顺的5个信号,第二种必须改!
- Linux初学者学习命令有什么意义?
- 什么是Linux系统架构?
- Linux文件系统入门详解
- 深入理解Linux文本流
- 初次使用Linux系统时常遇到的问题汇总
- 加快Linux文件拷贝速度的两大方法
- 如何快速清空Linux文件内容
- Linux进程的相关知识介绍
