這篇文章主要介紹了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等工具可以逐步查看日志內容。另外,由于日志輪換,舊的日志可能會被刪除或壓縮,因此可能無法找到太久之前的記錄