Linux系统异常进程管理

Linux系统异常进程管理

1、异常关闭服务和进程

1)【杀】进程

kill 进程【号】 ##温和、优雅

pkill 进程【名】 ##一下爆头

killall 进程【名】 ##优雅,可能需要多次反复

2)杀不掉处理(慎用)

强制,一招毙命

kill -9 进程号

killall -9 进程名

3)不要强制杀进程

数据库服务器:mysql、oracle,一定不能kill -9,否则服务起不来。

4)利用kill优雅重启服务(通知进程重读配置文件)

kill -HUP 进程号

5)异常关闭测试

a.启动测试

systemctl start nginx   #启动nginx

b.检查

ps -ef|grep nginx  #查看系统中所有包含"nginx"关键字的进程的信息
root      15506      1  0 16:59 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     15507  15506  0 16:59 ?        00:00:00 nginx: worker process
root      15510   8700  0 16:59 pts/0    00:00:00 grep --color=auto nginx

c.kill杀

systemctl start nginx   #启动nginx
​
ps -ef|grep nginx  #查看系统中所有包含"nginx"关键字的进程的信息
root      15506      1  0 16:59 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     15507  15506  0 16:59 ?        00:00:00 nginx: worker process
root      15510   8700  0 16:59 pts/0    00:00:00 grep --color=auto nginx
​
kill 15506   ##杀PID为15506的进程
ps -ef|grep nginx|grep -v grep  #检查是否杀掉;整个命令的作用是查看系统中除了grep命令本身以外,所有与nginx相关的进程的信息。通常用于检查nginx服务是否正常运行。

d.killall杀

systemctl start nginx    #启动nginx
​
ps -ef|grep nginx|grep -v grep  #检查是否开启
root      15544      1  0 17:06 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     15545  15544  0 17:06 ?        00:00:00 nginx: worker process
killall nginx    #杀进程
ps -ef|grep nginx|grep -v grep   #检查是否关闭

e.pkill杀

systemctl start nginx    #启动nginx
​
ps -ef|grep nginx|grep -v grep  #检查是否开启
root      15544      1  0 17:06 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     15545  15544  0 17:06 ?        00:00:00 nginx: worker process
pkill nginx    #杀进程
ps -ef|grep nginx|grep -v grep   #检查是否关闭

进程与服务管理大总结:

1.查普通进程:

ps -ef ##简单查看进程

ps aux ##看复杂进程信息,包括CPU MEM等资源占用情况。

top ##动态查看复杂进程信息,包括CPU MEM等资源占用情况。

2.守护进程(网络服务)管理

启动、停止、重启服务、查看状态

systemctl start nginx

systemctl stop nginx

systemctl restart nginx

systemctl status nginx

早期版本:

service start nginx(等价/etc/init.d/nginx start)

service stop nginx(等价/etc/init.d/nginx stop)

service restart nginx(等价/etc/init.d/nginx restart)

service status nginx(等价/etc/init.d/nginx status)

3.守护进程(网络服务)开机自启动

systemctl enable nginx #开机自启动

systemctl disable nginx #禁止开机自启动

早期版本:

chkconfig nginx on #开机自启动

chkconfig nginx off #禁止开机自启动

4.查看服务开机自启动情况

systemctl list-unit-files

早期版本:

chkconfig --list

5.进程异常管理

kill 进程号 #kill 520

pkill 进程名 #pkill nginx

killall 进程名 #killall nginx

强制杀死:-9

重读配置:-HUP 优雅重启

/bin/kill -HUP `cat /var/run/syslogd.pid
  • /bin/kill: 这是一个用于发送指定信号给指定进程的命令。

  • -HUP: 是信号编号1的别名,代表“挂起”信号(Hang Up)。在很多服务中,接收到这个信号会触发它们重新加载配置文件,而不是直接终止进程。

  • `cat /var/run/syslogd.pid`: 这部分使用了命令替换(反引号包围的命令会在外部命令执行前先执行),首先执行 cat /var/run/syslogd.pid 来获取 syslogd 进程的PID(进程ID),然后将这个PID传递给 kill 命令。/var/run/syslogd.pid 文件通常由syslogd在启动时创建,用于存储其进程ID,以便后续操作(如重启或停止)可以准确找到该进程。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xlbb.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值