Linux 如何恢复误 kill 的进程

2020-06-18 12:55:23 +08:00
 hello826

最近遇到一个问题,在服务器上要 kill 一个进程,用 ps 查出进程 Id 后,手动输入 kill -9 进程 id 。

本来进程 ID 是 12349 结果手一抖输入了个 12340,正好有个进程的 ID 是 12340,然后就被误杀了。

我想请教各位,如何能知道我误杀的 ID 12340 对应的进程,这样我也好重启。

问了几个运维有的说看 /var/log/syslog 的 message 的,有的说让我一个一个检查服务的。。。。关键测试服务器上部署了 2~30 个服务。

感觉手动检查可行性不高,各位有没有遇到过这个问题

4794 次点击
所在节点    程序员
20 条回复
klesh
2020-06-18 13:01:21 +08:00
往回滚看看之前的 ps 输出?
lp10
2020-06-18 13:21:14 +08:00
应该只能翻日志找有没有这个 PID 了……

https://serverfault.com/questions/386956/pid-history-of-a-process
oneisall8955
2020-06-18 13:35:42 +08:00
因为这个每次 kill 之前都是复制粘贴,不相信自己手打 pid,而且复制也要检查一边😂
hello826
2020-06-18 13:46:26 +08:00
@oneisall8955 看来得改习惯,不能手动输入了。万一在生产环境输错了,那可就凉透了
jimmyismagic
2020-06-18 14:42:02 +08:00
又不是删库,怕什么,服务监控做好,啥都不要怕
d0m2o08
2020-06-18 14:58:52 +08:00
别慌,谁都有尿鞋上的时候,淡定
Latin
2020-06-18 15:00:25 +08:00
ps -ef | grep `Search` | awk '{print $2}'|xargs kill -9
bkmi
2020-06-18 15:01:16 +08:00
重启大法好
no1xsyzy
2020-06-18 15:48:21 +08:00
如果是 systemd
# systemctl start $(systemctl get-default)
如果你的系统重启之后可以自动开启所有需要的服务,这个就行。
其他 init 也有类似的操作。
no1xsyzy
2020-06-18 15:49:17 +08:00
而且我觉得你可以去水一发 unix.stackexchange (
yanqiyu
2020-06-18 15:52:13 +08:00
systemctl list-units --failed
看看谁挂了,要是都没挂就不是问题
githubhaoliu
2020-06-18 16:14:03 +08:00
这时候就提现出了 supervisor 的重要性
takemeaway
2020-06-18 16:14:15 +08:00
日志应该可以的,有记录每次程序启动的 pid
guanhui07
2020-06-18 17:07:58 +08:00
supervisor 拉起来
nightwitch
2020-06-18 17:27:58 +08:00
别怂,杀到了重要的服务 systemed 配置了 restart 项的话会自动拉起来的
hello826
2020-06-18 18:03:43 +08:00
那像我这种极端环境,没有部署监控的话,只能一个一个去检查进程了吧
peachpeach
2020-06-18 18:04:36 +08:00
以上。
lpts007
2020-06-19 10:44:52 +08:00
@githubhaoliu 你好,kill -9 杀掉的 也会拉起来吗? 我自己刚刚使用 supervisor,发现通过 kill -9 杀死的不会拉起( kill 可以拉起),是不是需要配置什么参数才行?
githubhaoliu
2020-06-19 19:03:41 +08:00
@lpts007 supervisor 是监听进程,不太关注你用什么命令 kill,只要进程退出就会拉起,只要你的 supervisor 在运行。
lpts007
2020-06-19 21:35:22 +08:00
@githubhaoliu 好的 谢谢 看见你说的我又去检查了一下,我的描述确实不对---我没配 autorestart--都起不来。已经改了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/682646

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX