请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3|回复: 0

每天一个linux命令(42):kill命令

[复制链接]

8499

主题

8506

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
26041
发表于 2020-12-27 06:46:57 | 显示全部楼层 |阅读模式
  Linux中的kill下令用来终止指定的历程(terminate a process)的运转,是Linux下历程办理的常用下令。凡是,终止一个前台历程可能操纵Ctrl+C键,然则,对付一个后台历程就须用kill下令来终止,咱们就需求先操纵ps/pidof/pstree/top等用具获取历程PID,然后操纵kill下令来杀掉该历程。kill下令是通过向历程发送指定的信号来罢了相应历程的。
  Linux中的kill下令用来终止指定的历程(terminateaprocess)的运转,是Linux下历程办理的常用下令。凡是,终止一个前台历程可能操纵Ctrl+C键,然则,对付一个后台历程就须用kill下令来终止,咱们就需求先操纵ps/pidof/pstree/top等用具获取历程PID,然后操纵kill下令来杀掉该历程。kill下令是通过向历程发送指定的信号来罢了相应历程的。正在默认情状下,采用编号为15的TERM信号。TERM信号将终止总共不行缉捕该信号的历程。对付那些可能缉捕该信号的历程就要用编号为9的kill信号,强行“杀掉”该历程。
  发送指定的信号到相应历程。不指定型号将发送SIGTERM(15)终止指定历程。借使任无法终止该措施可用“-KILL”参数,其发送的信号为SIGKILL(9),将强制罢了历程,操纵ps下令或者jobs下令可能查看历程号。root用户将影响用户的历程,非root用户只可影响己方的历程。
  -l信号,若果不加信号的编号参数,则操纵“-l”参数会列出全体的信号名称
  1、kill下令可能带信号号码选项,也可能不带。借使没有信号号码,kill下令就会发出终止信号(15),这个信号可能被历程缉捕,使得历程正在退出之前可能清算并开释资源。也可能用kill向历程发送特定的信号。比方:
  它的效率等同于正在前台运转PID为123的历程时按下Ctrl+C键。然则,浅显用户只可操纵不带signal参数的kill下令或最众操纵-9信号。
  2、kill可能带有历程ID号行为参数。当用kill向这些历程发送信号时,务必是这些历程的主人。借使试图裁撤一个没有权限裁撤的历程或裁撤一个不存正在的历程,就会取得一个谬误新闻。
  4、当kill胜利地发送了信号后,shell会正在屏幕上显示出历程的终止新闻。有时这个新闻不会急忙显示,惟有当按下Enter键使shell的下令提示符再次产生时,才会显示出来。
  5、应谨慎,信号使历程强行终止,这常会带来少少副效用,如数据损失或者终端无法收复到平常形态。发送信号时务必小心,惟有正在万不得已时,才用kill信号(9),由于历程不行开始缉捕它。要裁撤总共的后台功课,可能输入kill0。由于有些正在后台运转的下令会启动众个历程,跟踪并找到总共要杀掉的历程的PID是件很烦杂的事。这时,操纵kill0来终止总共由目前shell启动的历程,是个有用的措施。
  惟有第9种信号(SIGKILL)才可能无要求终止历程,其他信号历程都有权益大意。下面是常用的信号:
  init是Linux编制操作中弗成匮乏的措施之一。所谓的init历程,它是一个由内核启动的用户级历程。内核自行启动(仍旧被载入内存,劈头运转,并已初始化总共的配置驱动措施和数据组织等)之后,就通过启动一个用户级措施init的体例,实现教导历程。因此,init永远是第一个历程(其历程编号永远为1)。其它总共历程都是init历程的子孙。init历程是弗成杀的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表