免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1016 | 回复: 0
打印 上一主题 下一主题

Linux管理背景当中的工作:kill [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-26 18:55 |只看该作者 |倒序浏览
管理背景当中的工作: kill
刚刚我们可以让一个已经在背景当中的工作继续工作,也可以让该工作以 fg 拿到前景来, 那么,如果想要将该工作直接移除呢?或者是将该工作重新启动呢?这个时候就得需要给予该工作一个讯号 (signal) ,让他知道该怎么作才好啊!此时, kill 这个指令就派上用场啦!
[root@www ~]#
kill -signal %jobnumber
[root@www ~]# kill -l
选项与参数:
-l :这个是 L 的小写,列出目前 kill 能够使用的讯号 (signal) 有哪些?
signal :代表给予后面接的那个工作什么样的指示啰!用 man 7 signal 可知:
-1 :重新读取一次参数的设定档 (类似 reload);
-2 :代表与由键盘输入 [ctrl]-c 同样的动作;
-9 :立刻强制删除一个工作;
-15:以正常的程序方式终止一项工作。与 -9 是不一样的。

代号
名称
内容
1
SIGHUP
启动被终止的程序,可让该 PID 重新读取自己的设定档,类似重新启动
2
SIGINT
相当于用键盘输入 [ctrl]-c 来中断一个程序的进行
9
SIGKILL
代表强制中断一个程序的进行,如果该程序进行到一半, 那么尚未完成的部分可能会有‘半产品’产生,类似 vim会有 .filename.swp 保留下来。
15
SIGTERM
以正常的结束程序来终止该程序。由于是正常的终止, 所以后续的动作会将他完成。不过,如果该程序已经发生问题,就是无法使用正常的方法终止时, 输入这个 signal 也是没有用的。
17
SIGSTOP
相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行
范例一:找出目前的 bash 环境下的背景工作,并将该工作‘强制删除’。
[root@www ~]# jobs
[1]+ Stopped vim ~/.bashrc
[2] Stopped find / -print
[root@www ~]# kill -9 %2; jobs
[1]+ Stopped vim ~/.bashrc
[2] Killed find / -print
# 再过几秒你再下达 jobs 一次,就会发现 2 号工作不见了!因为被移除了!
范例二:找出目前的 bash 环境下的背景工作,并将该工作‘正常终止’掉。
[root@www ~]# jobs
[1]+ Stopped vim ~/.bashrc
[root@www ~]# kill -SIGTERM %1
# -SIGTERM 与 -15 是一样的!您可以使用 kill -l 来查阅!
特别留意一下, -9 这个 signal 通常是用在‘强制删除一个不正常的工作’时所使用的,
-15 则是以正常步骤结束一项工作(15也是预设值), 两者之间并不相同呦!
举上面的例子来说, 我用 vi 的时候,不是会产生一个 .filename.swp 的档案吗? 那么,当使用 -15 这个 signal 时, vi 会尝试以正常的步骤来结束掉该 vi 的工作, 所以 .filename.swp 会主动的被移除。 但若是使用 -9 这个 signal 时,由于该 vi 工作会被强制移除掉,因此, .filename.swp 就会继续存在档案系统当中。 这样您应该可以稍微分辨一下了吧?
其实, kill 的妙用是很无穷的啦!他搭配 signal 所详列的资讯 (用 man 7 signal 去查阅相关资料) 可以让您有效的管理工作与程序 (Process),此外,那个 killall 也是同样的用法! 至于常用的 signal 您至少需要了解 1, 9, 15 这三个 signal 的意义才好。 此外, signal 除了以数值来表示之外,也可以使用讯号名称喔! 举例来说,上面的范例二就是一个例子啦!至于 signal number 与名称的对应,使用 kill -l 就知道啦(L的小写)!
另外, kill 后面接的数字预设会是 PID ,如果想要管理 bash 的工作控制,就得要加上 %数字 了, 这点也得特别留意才行喔!

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/108545/showart_2131602.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP