【摘要】:从字面上看,内置命令kill用来“杀掉”某种东西,它确实有这方面的功能。但kill主要用于给作业或者进程发送信号。信号KILL,即编号为9的信号可用来强行终止进程或者作业。这样理解只是为了便于记忆,在9.6节末会讲解用信号9可以强行终止进程的原因。
从字面上看,内置命令kill用来“杀掉”某种东西,它确实有这方面的功能。但kill主要用于给作业或者进程发送信号。kill加选项-l,可以列出信号名称与编号:
选项-l的后面跟信号的编号时,kill命令输出相应的信号名:
选项-l的后面跟信号名时,kill命令输出相应的信号编号:
选项-l的后面跟不正确的信号名或者信号编号时,系统会提示出错:
用命令kill给作业或者进程传递信号的格式为:
如果kill命令当中没有指定信号时,默认发送的是信号SIGTERM。
从根目录下开始查找名字以.gz结尾的文件,马上按〈Ctrl+Z〉键挂起它:
运行jobs,可见当前有一个作业,状态为Stopped:(www.xing528.com)
如果想终止该作业,运行kill%1:
再运行jobs,可见作业的状态变为Terminated(因为收到了默认信号TERM,见表9-2):
由于各种原因,用带默认信号TERM的kill命令有时会终止不了某个进程。信号KILL,即编号为9的信号可用来强行终止进程或者作业。例如,运行vi命令,直接将其放到后台:
用信号KILL强行终止它,运行命令:
把进程ID2945换为作业号%1,效果是一样的。上面的命令还可以改为kill-s KILL%1,kill-KILL%1,kill-n9%1,或者kill-9%1,效果都是一样的,实际工作中kill-9比较常用。这样理解容易记住它:9在单个数字里面是“老大”,它可以“搞定”一切。这样理解只是为了便于记忆,在9.6节末会讲解用信号9可以强行终止进程的原因。
常用的信号见表9-2。
表9-2 常用信号
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。