Linux(入门基础):91---进程的管理(kill、killall)
一、kill
1.功能
- 前面介绍过,kill可以管理一个进程的后台任务
- kill还可以直接管理进程,此篇文件是介绍如何管理进程
2.注意事项
- 重点:kill后面是进程号还是%任务号是有很大区别的。例如:kill后面直接接1,代表管理的是进程PID为1,而%1是管理该进程后台任务号为1的任务,很大的不同
- 如果你发现有个默认的登陆者登陆了你的系统,就可以使用kill来删除连接
3.命令格式
- kill [信号] 进程号(PID)
- kill -l
相关信号:信号使用时,可以使用数字,也可以使用对应的英文字母
- -1:让进程重新读取自己的配置文件,类似于重新启动进程
- -2:代表由键盘输入ctrl+c,意思为在后台程序中按下ctrl+c来中断一个进程
- -9:立即强制删除一个进程(只有当不知道怎么去结束这个任务的时候才使用这个进程),不过可能会产生残留文件,例如vim会产生.swp文件
- -15:以正常的方式终止一项进程,所以进程会继续执行直至到结束退出(如果不写信号时,这个是默认信号)
- -19:相当于键盘输入ctrl+d,来暂停一个进程的运行
相关参数与选项
- -l:列出当前kill可以使用的信号有哪些
4.演示案例
- 我们用ps找到rsyslogd这个进程,然后使用-1信号来重新启动这个进程
- 第一步:通过ps和grep找到rsyslogd这个进程,然后使用awk管道命令获取第二栏的进程PID
- 第二步:使用kill命令来重新启动这个进程
- 第三步:在/var/log/目录下查找到日志文件,在日志文件中有重新启动的记录信息
二、killall
1.功能
- killall的功能是,不通过进程的PID号或者任务编号来,而是以启动这个进程的命令来删除进程
- 例如:rsyslogd和httpd这两个命令会启动一些进程,如果我们在killall后面加上命令的名称,这就可以使用kiall配合相关的信号来管理由这些命令而产生的进程
2.命令格式
- killall [信号] [选项] 命令
相关参数与选项
- -i:与使用者进行互动,例如删除时,会有提示字符给操作者
- -e:exact的意思,表示后面接的命令要一致,但整个命令不能超过15个字符
- -I:命令名称(可能含参数)忽略大小写
3.注意事项
- 若后面的命令是以完整的路径来启动的,则命令需要使用绝对路径。并且,如果命令中含有选项、参数等,都要加上去才行
4.演示案例
- 案例一:重新启动由rsyslogd命令产生的进程
- 案例二:强制终止以httpd命令所产生的进程
- 案例三:强制终止每个终端,并访问使用者是否终止(自己当前的终端也可以被终止)