这篇文章主要介绍了Ubuntu查看进程被kill的几种方式,在Ubuntu系统中,要查看进程被杀掉的记录,可以使用文中命令和方法,文章通过代码示例讲解的非常详细,需要的朋友可以参考下
在Ubuntu系统中,要查看进程被杀掉的记录,可以使用以下命令和方法:
查看系统日志: 使用grep命令搜索/var/log/syslog或/var/log/messages文件中的相关条目。例如:
grep -i ‘killed process’ /var/log/syslog
或者
grep -i ‘killed.*process’ /var/log/messages
-i 参数表示不区分大小写。 /var/log/messages 和 /var/log/syslog 都是用来存储系统日志文件的,syslog文件通常只包含系统日志信息,而messages文件除了包含系统日志外,还可能包含由其他应用程序或服务生成的消息。
使用journalctl查看日志: 如果你的系统使用systemd,可以使用journalctl来获取进程相关的日志:
journalctl -k | grep -i ‘killed’
-k 参数表示只显示内核消息。
查看内核崩溃日志: 如果进程因为内核崩溃而被杀,可以查看崩溃日志:
less /var/crash/*
查看审计日志: 如果系统启用了审计(auditd),可以使用ausearch命令来搜索相关记录:
ausearch -k process-termination
查看进程退出代码: 有时进程的退出代码可以提供为何进程终止的线索,可以使用ps命令查看:
ps -p [PID] -o etime= | grep -v ‘^[0]*$’
这里[PID]是进程的ID。ps命令显示进程的状态信息,-o etime=指定只输出进程的运行时间。
查看OOM日志: 如果进程是因为内存不足被杀,可以查看OOM日志:
grep -i ‘oom’ /var/log/syslog
或者
grep -i ‘oom’ /var/log/messages
查看进程的oom_adj或oom_score_adj: 这些文件可以提供OOM killer相关信息:
cat /proc/[PID]/oom_adj
或者
cat /proc/[PID]/oom_score_adj
替换[PID]为进程的ID。
使用dmesg查看内核消息: dmesg命令可以查看内核记录的消息:
dmesg | grep -i ‘killed’
请注意,如果日志文件很大,使用less或more等工具可以逐步查看日志内容。另外,由于日志轮换,旧的日志可能会被删除或压缩,因此可能无法找到太久之前的记录