目录

Linux下ps的截断问题

概述

针对一些非常长的命令,无论是 ps -ef 还是 ps aux 都是有可能被截断的,本文主要讲解一下如何避免这样的情况。

ps命令

针对一些容器的启动命令,常见的场景就是通过 kubectl exec 或者 docker exec 进入到容器中,然后通过 ps 命令将命令打印出来。下面是笔者经常运用的命令。

1
ps -ef | cat

通过重定向到 cat 似乎一切都没有问题。直到有天遇到一个同事,反馈一个 Java 应用容器中的 ps 无法看到是否引用了有效的 lib 包,于是笔者看了一下,果然,在字数很多的情况下还是会截断。这种情况下,通过 ps auxxx 通过多两个 x 就可以完整输出了。具体可以参考 man ps 的手册,了解关于 UNIX, BSD, GNU 的选项的区别。

参考资料

  1. Viewing full output of PS command
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。