一、信号
信号是进程级别的中断请求。大概有30种左右,主要使用方法如下:
*可以作为进程之间的通信
*可以通过终端发送来杀死,中断,挂起进程,<Ctrl-C>&<Ctrl-Z>
*可以使用终端命令kill发送杀死进程
*当进程产生违规操作时,由内核发出。
*当子进程死亡或者IO通道上有可利用的数据。
收到信号可能会发生两种事情:1)如果收到信号的进程有处理信号的机制,就被预定的程序处理(C里面就有<signal.h>头文件处理)。2)内核代表进程做一些默认的操作。
程序可以通过忽略或者阻塞信号防止。忽略的信号就直接消失了,但是阻塞的信号会入队等候处理。不管你阻塞了多少信号,显式取消阻塞后只能调用一次信号。
# Name Description Default Can catch? Can block?
1 HUP Hangup Terminate Y Y
2 INT Interrupt Terminate Y Y
3 QUIT Quit Terminate Y Y
9 KILL Kill Terminate N N
a BUS Bus error Terminate Y Y
11 SEGV Segmentation error Terminate Y Y
15 TERM Software termination Terminate Y Y
a STOP Stop Stop N N
a TSTP Keyboard stop Stop Y Y
a CONT Continue after stop Ignore Y N
a WINCH Window changed Ignore Y Y
a USR1 User-defined Terminate Y Y
a USR2 User-defined Terminate Y Y
#a 根据硬件架构会不同
二、Kill指令
kill [-signal] pid
kill pid(可以被忽略获取,忽略,阻塞)
kill -KILL pid (保证杀死进程)
三、进程状态
runnable 进程正在运行
sleeping 进程正在等待资源
zombie 进程快死了
stopped 进程被挂起
四、nice&renice参数
nice表示这个进程有多少nice[-20,+19],越nice说明进程的运行优先级越低。
五、ps进程监测
ps [aux/lax]
六、top高级进程监测
ps只能监测一个瞬间,top可以持续的监测系统。使用时按q键,可以选择监视参数。
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
没有评论:
发表评论