You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux:已知启停时间,如何查询已结束进程的PID、TID及名称

能否获取已结束进程的PID、TID和名称?

首先明确:默认情况下,X+6秒时直接用ps这类工具是拿不到目标进程信息的,因为ps只显示当前活跃的进程,目标进程已经在X+5秒终止,不会出现在ps的输出里。

但有没有其他办法?得看系统是否预先配置了进程审计或监控机制:

  • Linux 系统

    • 若启用了auditd服务并配置了进程启动/终止的审计规则(比如监控execve系统调用),可以通过ausearch命令查询审计日志,从中提取进程的PID、名称,甚至线程(TID)的相关记录——不过线程的审计需要额外配置更细的规则。
    • 若启用了进程记账(process accounting,通过acct包开启),可以用lastcomm命令查看历史进程记录,能获取到进程的PID、启动/结束时间、命令名称,但通常不会记录TID信息,因为记账机制主要针对进程级。
    • 如果之前有自定义的监控脚本(比如定时执行ps aux并输出到日志文件),可以从留存的日志里检索目标时间窗口内的进程信息,但这属于事前准备的方案,没提前做就用不了。
  • Windows 系统

    • 若开启了“进程创建”和“进程终止”的审核策略(在本地安全策略中配置),可以在事件查看器的“安全日志”里找到对应事件(事件ID 4688对应进程创建,4689对应终止),事件详情里会包含进程PID、名称,部分情况下也能找到线程ID的相关数据。

如果既没开启审计机制,也没提前做监控记录,那没有办法获取到和ps输出一致的进程信息——因为系统默认不会主动留存已终止进程的详细运行数据。

内容的提问来源于stack exchange,提问作者Gregor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:05:25