银河麒麟V10需通过日志或审计机制追溯已退出进程。默认不保存历史进程快照,可借助journalctl检索systemd日志、auditd记录execve/exit事件,或检查shell历史中的kill类命令。

银河麒麟V10默认不持久化保存已停止进程的历史记录,系统重启后所有进程信息清空,若需追溯曾运行但已退出的程序(如崩溃服务、被kill的脚本、意外终止的后台任务),必须依赖日志机制而非进程快照工具。
通过系统日志检索近期退出的进程
该方法适用于排查过去24小时内非正常退出的程序,依赖systemd-journald默认保留的日志周期。
第一步:打开终端,执行命令查看最近1小时内所有含“killed”或“exited”的日志条目:
journalctl --since "1 hour ago" | grep -i -E "(killed|exited|terminated|segfault|aborted)"
第二步:若需定位特定进程名(例如nginx或python3),追加进程关键词过滤:
journalctl --since "6 hours ago" | grep -i "nginx" | grep -i "exited"
第三步:对关键条目追查完整上下文,避免误判——某些“exited”是正常服务重启触发的,需结合时间戳和前/后5行日志判断:
journalctl -n 20 -u nginx.service(查看nginx服务最近20行日志)
启用进程审计功能捕获全量退出事件
此方法需提前配置,适用于对关键业务主机做长期行为审计,可精确记录每次execve调用及对应exit状态。
方法一:使用auditd记录进程启动与退出
① 安装审计服务(如未启用):
sudo apt install auditd audispd-plugins
② 添加规则监控execve系统调用并标记退出事件:
sudo auditctl -a always,exit -F arch=b64 -S execve -k process_launch
③ 重启auditd使规则生效:
sudo systemctl restart auditd
④ 查询已退出进程记录(只显示带“exit=”字段的条目):
sudo ausearch -m execve,exit -i | grep "exit="
【注意】auditd规则在系统重启后失效,需将规则写入/etc/audit/rules.d/目录下的.conf文件才能持久化。
检查shell历史中手动终止的命令
如果进程是用户在终端中直接运行后按Ctrl+C或执行kill命令终止的,其原始命令可能保留在bash/zsh历史里。
执行history | grep -E "(kill|pkill|killall|exit|logout)",快速筛查主动终止操作记录。
这一步操作起来很简单,直接把命令粘贴进终端回车就行,但仅限于当前用户shell会话中执行过的命令,无法覆盖图形界面启动或systemd服务管理的进程。

















