首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
软件
运维软件
办公软件
书籍资源
技术陪跑营
重要信息
首页 运维教程Linux基础【linux】循序渐进学运维-基础篇-kill命令

【linux】循序渐进学运维-基础篇-kill命令

文章目录
1. 命令格式
2. 命令功能
3. 命令参数
4. kill相关的命令
5. 关于kill的信号
6. 使用方法
1) 彻底杀死进程:
2)杀死程序
重要提示:
总结:

kill命令属于系统进程管理命令。

1. 命令格式
kill [参数][进程号】

2. 命令功能
发送指定的信号到相应的京城,不指定型号将发送SIGTERM(15)终止进程。
**
3. 命令参数

|参数|含义|

-l |信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a | 当处理当前进程时,不限制命令名和进程号的对应关系
-p |指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s |指定发送信号
-u | 指定用户
-v|指定用户
–version|显示版本信息

4. kill相关的命令
关闭进程3个命令:kill killall pkill
kill关闭进程:kill 进程号 关闭单个进程
killall和pkill 命令用于杀死指定名字的进程

5. 关于kill的信号
kill -l
在这里插入图片描述常用的信号:

|信号编号|信号名|作用|

1)| SIGHUP | 重新加载配置
2)| SIGINT | 键盘中断 crtl+c
3) | SIGQUIT |退出
9) | SIGKILL | 强制终止
15) | SIGTERM | 终止(正常结束),缺省信号
18) | SIGCONT | 继续
19) | SIGSTOP | 停止
20) | SIGTSTP | 暂停 crtl+z

6. 使用方法
1) 彻底杀死进程:

查看进程id
在这里插入图片描述
杀死进程
[root@zmgaosh ~]# kill -9 2287

在这里插入图片描述

2)杀死程序
[root@zmgaosh ~]# yum install httpd   #安装http
[root@zmgaosh ~]# systemctl  start httpd   # 启动http

查看进程ID

[root@zmgaosh ~]# ps -aux |grep http
root     10448  0.0  0.1 230432  5184 ?        Ss   19:48   0:00 /usr/sbin/httpd -DFOREGROUND
apache   10531  0.0  0.0 230432  3000 ?        S    19:48   0:00 /usr/sbin/httpd -DFOREGROUND
apache   10532  0.0  0.0 230432  3000 ?        S    19:48   0:00 /usr/sbin/httpd -DFOREGROUND
apache   10533  0.0  0.0 230432  3000 ?        S    19:48   0:00 /usr/sbin/httpd -DFOREGROUND
apache   10534  0.0  0.0 230432  3000 ?        S    19:48   0:00 /usr/sbin/httpd -DFOREGROUND
apache   10535  0.0  0.0 230432  3000 ?        S    19:48   0:00 /usr/sbin/httpd -DFOREGROUND
root     13745  0.0  0.0 112728   972 pts/0    R+   19:49   0:00 grep --color=auto http

可以看到http的进程有点多,我们如果用kill -9 需要一个一个杀死,这个使用pkill的作用就显现出来了。

pkill 或者killall 可以一次性杀死程序。

所以此处可以用

pkill -9 httpd
或
killall -9 httpd

重要提示:

不要随便使用kill -9的命令,强制杀死进程不是一个好习惯。
我们平时用的kill命令,默认是kill -15, 当我们执行kill后,事实上系统内部的操作是:
1. 立即停止程序
2. 释放相应资源后终止程序
3. 忽略该信号,继续执行程序
在退出前会做一些准备工作,比如释放资源,清理临时文件等,做完了这些操作才正式停止,如果在做准备工作的时候遇到了阻碍,应用程序会选择忽略该终止信号。

而kill -9 有时候会导致数据丢失,尤其是一些web应用,定时任务或者包含长事务的应用中,尽量不要使用kill -9. 工作中很多的服务都需要很长的时间来收尾,比如tomcat容器,dubbo服务,流量引擎等,这些地方尽快不要用 -9.

切记: 保证业务稳定安全是重中之重。

总结
1. 杀死不存在的程序会报错
2. 使用kill的时候不指定信号,默认会发送信号15, 信号15是终止指定进程, 让进程在退出之前清理并释放资源
3. 使用kill时候,如果加上 -9表示强制终止程序,可能会使数据丢失。

本文链接:http://www.geekyunwei.com/589.html

网友评论comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 公众号《极客运维之家》
扫二维码
扫二维码
返回顶部