ps 命令的输出以及对标志的理解

ps 命令的输出以及对标志的理解

Ubuntu 12.04 LTS 使用 bash。

我尝试使用运行时从 Java 程序运行 ps 命令并得到了一些意外的输出。

经过仔细检查,我意识到它是以下输出:

ps --deselect

这让我相信 ps 执行时启用了一些默认标志

当我刚输入

ps

在命令行中。

这些旗帜是什么?还是我搞错了?

答案1

psPS_PERSONALITY在选择如何显示结果时,会遵循环境变量(在手册页中记录)。我的手册页中的值是:

PERSONALITY
   390        like the OS/390 OpenEdition ps
   aix        like AIX ps
   bsd        like FreeBSD ps (totally non-standard)
   compaq     like Digital Unix ps
   debian     like the old Debian ps
   digital    like Tru64 (was Digital Unix, was OSF/1) ps
   gnu        like the old Debian ps
   hp         like HP-UX ps
   hpux       like HP-UX ps
   irix       like Irix ps
   linux      ***** recommended *****
   old        like the original Linux ps (totally non-standard)
   os390      like OS/390 Open Edition ps
   posix      standard
   s390       like OS/390 Open Edition ps
   sco        like SCO ps
   sgi        like Irix ps
   solaris2   like Solaris 2+ (SunOS 5) ps
   sunos4     like SunOS 4 (Solaris 1) ps (totally non-standard)
   svr4       standard
   sysv       standard
   tru64      like Tru64 (was Digital Unix, was OSF/1) ps
   unix       standard
   unix95     standard
   unix98     standard

你可能想尝试所有这些 :-),使用

PS_PERSONALITY=digital ps

最有可能的是,当您在程序内部执行时,与在交互式 shell 中运行它时(可能使用自定义设置等)相比,环境变量的值PS_PERSONALITY是不同的(或者可能不存在) 。ps.bashrc

相关内容