我想每秒将 Linux 服务器的进程树记录到一个文件中。
这是我目前拥有的解决方案:
while true; do ps aux --forest >> tmp/ps-aux-forest.log; sleep 1; done
我失踪了:
- 输出不包含每行的时间戳
- 每一秒都会创建一个
ps
进程。
我没有和ps
结婚.也许有更好的工具。我想避免在ps
周围编写 shell 脚本。
这只是为了临时调试。它不应该每天运行。
有什么解决办法吗?
转换此语句:
do ps aux --forest
进入这个:
ps aux --forest | while read p; do echo `date` "$p"; done
将您的完整程序呈现为:
while true; do ps aux --forest | while read p; do echo `date` "$p" ; done; sleep 1; done