我正在编写一个可移植的shell脚本来获取系统进程信息,我需要进程id,命令,pwdx(linux)。在linux上,我能够获得如下信息..但它在所有其他unix风格上都失败了。
$ ps -awwwwwww -u <userid> -o pid,cmd|grep -i <filter_term> | egrep -v grep
$ pwdx <pid>
我应该在AIX,HPUX和Solaris上使用什么来获取类似信息,或者有任何跨平台命令
在Solaris上我已经尝试了/ usr / ucb / ps,但它支持格式化输出和lsof用于pwdx等效,但是也没有显示我需要的内容
答案 0 :(得分:2)
在Solaris上我尝试过/ usr / ucb / ps但支持格式化输出:
格式化输出有什么问题?
和lsof相当于pwdx,但也没有显示我需要的内容。
这没有意义。 pwdx
是Solaris本机命令,最初甚至在该操作系统上实现。
答案 1 :(得分:0)
Linux!= Unix。同时,命令并不总是相同,例如GNU ps不像Solaris ps或HP-UX ps等。在某些情况下,Vendor Unix风格提供了一个“兼容二进制文件”,就像那些存储在/ usr / ucb on solaris。但最终您需要查看每个版本的手册页并查看输出格式选项。
编辑。这通常是所有命令。包括grep,egrep等。
答案 2 :(得分:0)
要显示完整的命令名称,请使用此
ps -eo comm
这将显示已运行的命令。 (ps来自我的Solaris系统5.11上的/ usr / bin)