Linux学习之基础知识——进程管理(kill命令)
2018-01-09 10:03
856 查看
概述
在前面两篇中,介绍了有关进程查看和管理的诸如ps、pstree、iostat、top、dstat等的命令和工具,本篇将介绍关于进程管理的另一个命令,kill。kill
linux中,kill用来可以将指定的命令发送到指定的进程,可以控制进程的状态或者杀掉异常的进程。向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头(可省略),不区分大小写。可以使用kill -l 或者 trap -l 来查看当前系统可用的信号。
常用信号:man 7 signal
1) SIGHUP: 无须关闭进程而让其重读配置文件
2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
3) SIGQUIT:相当于ctrl+\
9) SIGKILL: 强制杀死正在运行的进程
15) SIGTERM:终止正在运行的进程
18) SIGCONT:继续运行
19) SIGSTOP:后台休眠
指定信号的方法:
(1) 信号的数字标识:1, 2, 9
(2) 信号完整名称:SIGHUP (3) 信号的简写名称:HUP
按PID:kill [-SIGNAL] pid …
kill –n SIGNAL pid;kill –s SIGNAL pid
按名称:killall [-SIGNAL] comm…
按模式:pkill [options] pattern
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名(pgrep可用)
-a: 显示完整格式的进程名(pgrep可用)
-P pid: 显示指定进程的子进程
实验:
·有两个终端,在其中一个终端执行bash命令开启一个子进程,在两端查看进程信息,并利用kill命令杀掉该子进程。]#bash ]#pstree -p
·在另一终端查看进程信息
]#ps aux | grep bash
由前两步可见,进程2132是进程2091的子进程,即是第一步执行bash命令后开启的子进程。在查明进程信息以及进程间的关系后,就可以使用kill命令来杀掉它了。
·使用kill命令杀掉PID为2132的进程
]# kill -n 9 3132 #杀掉子进程 ]# ps aux | grep bash #查看进程是否还存在
当然,进程是被杀掉了。
·查看进程树,验证进程的确是被杀掉了
]# pstree -p
对比上面的进程树信息,可以看到,进程2091的子进程已经不见了,只剩它自己了。
作业管理
在Linux中,进程也是分为前后台运行的。前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)
·因为某些需求需要把进程放置到后台运行,可以如下操作:
(1) 运行中的作业: Ctrl+z
(2) 尚未启动的作业: COMMAND &
可见,使用Ctrl+Z的方法,将进程置入后台时会使进程停止运行。而使用COMMAND &的方式则不会。
·后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台作业。如果希望送往后台后,剥离与终端的关系。screen是一个外部工具,需要事先安装才能使用。
]# nohup COMMAND &>/dev/null & ]# screen;COMMAND
·当进程被置入后台执行时,有时仍需要对其进行管理,此时可以使用jobs命令来查看
]# jobs
·对后台的进程管理可以使用如下命令:
fg [[%]JOB_NUM]:把指定的后台作业调回前台
bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
kill [%JOB_NUM]: 终止指定的作业
可见,处于stopped状态的进程已经被干掉了!
当然,除此之外,也可以查看进程的PID,然后使用kill命令来管理相应的进程。
相关文章推荐
- Linux学习之基础知识——进程管理(top、vmstat与dtstat)
- 13_Linux基础知识及命令――――初识用户、权限和进程
- Linux基础学习-文件和目录管理命令
- Linux命令-学习shell脚本之前的基础知识
- 【Java学习-J.160406.0.6】笔记5-Linux基础-linux进程管理
- Linux 学习笔记_8_进程管理_2_进程管理命令
- linux对进程的一些管理命令kill ps top
- Linux 文件管理基础命令和通配符基础知识
- Linux基础知识学习(一)----常用操作命令
- linux基础(五)----linux命令系统学习----系统管理命令
- linux基础命令学习 (十一)系统管理命令
- Linux基础--进程管理及其基本命令
- Linux基础知识学习笔记(一)--文件系统的权限管理
- Linux基础: 网络命令和进程管理
- Linux 进程管理命令ps、top、kill、nice、fg、bg、vmstat、uptime
- Linux基础知识学习记录:su与sudo命令的比较,ubuntu下的inittab文件
- Linux系统基础-管理之find命令学习总结
- Linux基础--进程管理相关命令介绍(1)
- Linux基础知识学习:linux用命令重启
- Linux基础--进程管理相关命令介绍(2)