Linux中的vim,linux系统中top命令

  Linux中的vim,linux系统中top命令

  Killall命令Linux系统中的killall命令用于杀死指定名称的进程(按名称杀死进程)。我们可以使用kill命令终止具有指定进程PID的进程。如果要找到需要杀死的进程,还需要先使用ps等命令再配合grep找到进程,而killall将这两个进程合二为一,是一个非常有用的命令。

  1.命令格式

  kill all[参数][进程名称]

  2.命令参数

  -Z只杀死拥有scontext的进程。

  -e需要匹配的进程名。

  -我忽略小写。

  -g杀死进程组而不是进程。

  -i交互模式,在杀死进程前询问用户。

  -我列出了所有已知的信号名称。

  -q不输出警告信息。

  -s发送指定的信号。

  -v报告信号是否成功发送。

  -w等待进程停止

  help显示帮助信息。

  版本显示版本显示

  3.范例

  1.杀死所有同名进程killall nginx killall -9 bash2。向进程发送指定信号killall -TERM ngixn或killall -KILL nginx KILL命令。Linux中的kill命令用于终止指定进程的运行,是Linux下进程管理中的常用命令。通常,Ctrl+C键可用于终止前台进程。但是,对于后台进程,必须使用kill命令来终止它。我们需要使用PS/pidof/p tree/top等工具先获取进程的PID,然后使用kill命令杀死进程。kill命令通过向进程发送指定的信号来结束相应的进程。默认情况下,使用15号$ TERM信号。术语信号将终止所有不能捕获信号的进程。对于那些可以捕获到这个信号的进程,应该使用编号为9的kill信号来强行“杀死”该进程。

  1.命令格式

  终止[参数][进程id]

  2.命令参数

  -l信号。如果没有添加信号的number参数,则“-l”参数将列出所有信号名称。

  -a处理当前进程时,命令名和进程号的对应关系不受限制。

  -p指定kill命令只打印相关进程的进程号,而不发送任何信号。

  -s指定发送信号。

  -u指定用户

  1.kill命令可能有也可能没有信号编号选项。如果没有信号号,kill命令会发出一个终止信号(15),该信号可以被进程捕获,以便进程在退出前清理并释放资源。您还可以使用kill向进程发送特定的信号。例如:

  Kill -2 123它的作用相当于前台正在运行一个PID为123的进程时按Ctrl C。而普通用户最多只能使用不带信号参数或-9信号的kill命令。

  2.kill可以将进程ID号作为参数。当用kill向这些进程发送信号时,您必须是这些进程的所有者。如果您试图取消一个没有权限的进程或一个不存在的进程,您将得到一个错误消息。

  3.可以用信号通知或终止多个进程。

  4.当kill成功发送信号时,shell会在屏幕上显示进程的终止信息。有时,此消息不会立即显示,而只会在通过按Enter键再次出现shell的命令提示符时显示。

  5.需要注意的是,信号强制进程终止,往往会带来一些副作用,比如数据丢失或者终端无法恢复到正常状态。发送信号的时候一定要小心,只有在万不得已的情况下才使用kill信号(9),因为进程无法先捕获它。要撤消所有后台作业,可以输入kill 0。因为后台运行的一些命令会启动多个进程,所以要跟踪找到所有要被杀死的进程的PID是非常麻烦的。这时使用kill 0终止当前shell启动的所有进程是一种有效的方法。

  2.范例

  示例:列出所有信号名称的命令:kill-l output:[root @ localhosttest 6]# kill-l 1)sighup 2)SIG int 3)SIG quit 4)sigill 5)SIG trap 6)sigabrt 7)SIG bus 8)sigfpe 9)SIGKILL 10)sigusr 11)SIGSEGV 12)sigusr 213)SIGPIPE 14)SIGALRM 15)SIGTERM 16)sigstkflt 17)SIGCHLD 18)SIGCONT 19)SIG stop 20) SIGRTMIN 5 40)SIGRTMIN 6 41)SIGRTMIN 7 42)SIGRTMIN 843)SIGRTMIN 9 44)SIGRTMIN 10 45)SIGRTMIN 11 46)SIGRTMIN 13 48)SIGRTMIN 14 49)SIGRTMIN 15 50)SIGRTMAX-1451)SIGRTMAX-13 52)SIGRTMAX-12 53)SIGRTMAX-11 54)sigt max-1054 SIGTMAX描述常用的信号有:HUP 1终端断开INT 2中断(同Ctrl C)QUIT 3退出(同Ctrl \)TERM 15终止KILL 9强制终止CONT 18继续(与STOP相反, Fg/bg命令)STOP 19 Pause(同Ctrl Z)例2:获取指定信号的值[root @ localhost test 6]# Kill-l Kill 9[root @ localhost test 6]# Kill-l sigkill 9[root @ localhost test 6]# Kill-l term 15[root @ localhost test 6]# Kill-l sigterm 15[root @ localhost test 6]#例3:先用ps找到进程, 然后用kill杀死命令:Kill 3268[root @ localhosttest 6]# PS-ef grep vim root 3268 2884 0 16:21 pts/1 00:00:00 vim install . log root 370 2822 0 16:21 pts/00:00:00:00 grep vim[root @ localhosttest 6]# Kill 3268例4:彻底杀死进程。 命令:kill9 3268//-9强制终止进程。ps:init是Linux系统操作中必不可少的程序之一。所谓init进程,就是内核启动的用户级进程。内核自启动后(已经加载到内存,开始运行,所有设备驱动和数据结构已经初始化等。),它通过启动用户级程序init来完成引导过程。因此,init总是第一个进程(它的进程号总是1)。所有其他进程都是init进程的后代。不能终止初始化进程!

  PKILL pkill的应用方法和killall一样,直接杀死正在运行的程序;如果要杀死单个进程,请用kill杀死它。

  方法:#pkill正在运行程序名。

  centos kill all install yum install PS misc

  一般的杀人过程如下

  $ PS-ef grep Django-admin . py grep-v grep 501 20060 1 0 0:00.11 ttys 001 0:00.38 python Django-admin . py runserver 0 . 0 . 0 . 0:8002501 20063 20060 0 0:00.35 ttys 001 0:01.07 python Django-admin . py runserver 0 . 0 . 0:8002 $ kill-term首先用PS查看流程。该方法如下:

  $ ps -ef……smx 1822 1 0 11:38?00:00:49 gnome-terminals MX 1823 1822 0 11:38?00:00:00 gnome-pty-helpersmx 1824 1822 0 11:38 pts/0 00:00:02 bash smx 1827 1 4 11:38?00:26:28/usr/lib/Firefox-3 . 6 . 18/Firefox-chdlzsmx 1857 1822 0 11:38 pts/1 00:00:00 bash smx 1880 1619 0 11:38?00:00:00 Update-Notifier…smx 11946 1824 0 21:41 PTS/0 00:00:00:00 PS-EF or:$ PS-AUX…smx 1822 0.1 0.8 58484 18152?sl 11:38 0:49 gnome-terminals MX 1823 0.0 0.0 1988 712?s 11:38 0:00 gnome-pty-helpersmx 1824 0.0 0.1 6820 3776 pts/0 Ss 11:38 0:02 bash smx 1827 4.3 5.8 398196 119568?sl 11:38 26:13/usr/lib/Firefox-3 . 6 . 18/Firefox-chdlzsmx 1857 0.0 0.1 6688 3644 pts/1 Ss 11:38 0:00 bash smx 1880 0.0 0.6 41536 12620?S11: 38 0: 00更新通知程序.smx 11953 0.0 0 2716 1064 pts/0r 21:42 0:00 PS-aux此时,如果我想杀死Firefox的进程,我会在终端输入:

  $ kill -s 9 1827

  其中-s 9确定传输给进程的信号是9,即尽快强制终止进程。每个终端信号及其功能见附录。

  827是上面ps找到的火狐的PID。

  很简单,但是有个问题。流程少一点没关系,流程多了就觉得疼了。无论是ps -ef还是ps -aux,每次都要在一大串进程信息中找到要杀的进程,要花上你所有的眼睛才能看到。

  预付款:改进:

  ps的查询结果通过管道传递给grep,以查找包含特定字符串的进程。管道符号“”用于分隔两个命令,管道符号左边的命令输出将用作管道符号右边的命令输入。

  $ PS-ef grep Firefox smx 1827 1 4 11:38?00:27:33/usr/lib/Firefox-3 . 6 . 18/Firefox-chdlzsmx 12029 1824 0 21:54 pts/0 00:00:00:00 grep-color=autofirefox这次刷新了。然后

  $kill -s 9 1827还是打字太多?

  改进——使用pgrep:

  看到pgrep你首先会想到什么?没错,grep!pgrep的p表示该命令是一个grep for process query。

  $ pgrep firefox1827看到了什么?没错,火狐的PID,然后我还要再打一遍:

  $kill -s 9 1827改进——使用pidof:

  看到皮多夫你有什么想法?没错,xx的pid,直译过来就是xx的PID。

  相比pgrep,$ pidof firefox-chdlz1827稍有劣势。Pidof必须给出进程的全名。那就老生常谈了:

  $kill -s 9 1827不管是用ps然后慢慢找进程PID,grep找包含对应字符串的进程,还是pgrep直接找包含对应字符串的进程PID,然后手动输入kill,都有点麻烦。有没有更方便的方法?是啊!

  改进:

  $ PS-EF grep Firefox grep-v grep Cut-C 9-15 Xargs Kill-S 9描述:

  “grep firefox”的输出结果是所有包含关键字“firefox”的进程。

  “grep -v grep”是从列出的进程中删除了关键字“grep”的进程。

  “cut -c 9-15”截取输入行的第9个字符到第15个字符,而这恰好是进程号PID。

  “xargs kill -s 9”中的xargs命令用于将前一个命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀死指定的进程。

  你不想抱怨些什么吗?是的,太长了。

  改进:

  如果知道pgrep和pidof,为什么还要打这么长的单子!

  $ pgrep Firefox xargs kill-s 9改进:

  $ PS-ef grep Firefox awk“{ print $ 2 }” xargs kill-9 kill:没有这样的进程有些令人沮丧。已正确找到进程并终止,但执行后提示找不到进程。

  awk“{ print $ 2 }”用于打印第二列的内容。根据常规文章,我们可以知道ps输出的第二列正好是PID。通过xargs把要杀死的进程对应的PID作为参数传递,杀死对应的进程。

  改进:

  是不是每次都要调用xargs才能通过PID杀?答案是否定的:

  $ kill-s 9 ` PS-aux grep Firefox awk { print $ 2 } `改进:

  没错,命令依然有点长,换成pgrep。

  $ kill-s 9 pgrep Firefox 改进9——pkill:

  看到粒子清除想到了什么?没错进程查找和杀!pkill=pgrep kill。

  $pkill -9 firefox说明:-9 即发送的信号是9、pkill与杀在这点的差别是:pkill无须“s”,终止信号等级直接跟在"-" 后面。之前我一直以为是"-第9条",结果每次运行都无法终止进程。

  -f该模式通常只与进程名匹配。当设置-f时,使用完整的命令行。这意味着,例如,如果我们在著名图象处理软件中看到这些线

  辅助:

  阿帕奇24268 0.0 2.6 388152 27116?六年级月13日0:10/usr/schdlz/httpdapache 24272 0.0 2.6 387944 27104?六年级月13日0:09/usr/schdlz/httpdapache 24319 0.0 2.6 387884 27316?6月15日0:04 /usr/schdlz/httpd我们可以使用pkill -f选项将它们全部杀死:

  pkill -f httpd

  改进10——killall:

  中止进程或任务和粒子清除是相似的,不过如果给出的进程名不完整,killall会报错100 .粒子清除或者进程查找只要给出进程名的一部分就可以终止进程。

  $killall -9火狐

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • Linux计划任务的命令是什么,linux 任务,linux系统中计划任务介绍
  • linux系统设置免密登录,linux免密钥登录
  • linux系统设置免密登录,linux免密钥登录,Linux下实现免密码登录(超详细)
  • Linux系统查看版本,linux系统查看系统版本
  • Linux系统查看版本,linux系统查看系统版本,Linux查看系统版本的方法汇总
  • linux操作系统的安装与配置,linux系统安装与配置教程
  • linux操作系统的安装与配置,linux系统安装与配置教程,Linux操作系统安装图文配置教程详细版
  • Linux基本网络配置命令,linux网络配置,Linux系统配置网络详细介绍
  • linux命令日志,linux系统日志怎么看
  • linux命令日志,linux系统日志怎么看,Linux系统中日志详细介绍
  • linux 服务配置文件,linux服务管理命令,Linux系统配置(服务控制)详细介绍
  • debian 命令行安装,debian安装软件方式,基于Debian的linux系统软件安装命令详解 (推荐)
  • ,,查看Linux系统是32位还是64位的方法总结
  • ,,Linux系统设置PATH环境变量(3种方法)
  • ,,Linux系统的修复模式(单用户模式)
  • 留言与评论(共有 条评论)
       
    验证码: