加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux命令 – ‘ps’

发布时间:2020-12-14 00:05:44 所属栏目:Linux 来源:网络整理
导读:我的目标是用高斯PID找到进程(是的,我知道可以只做ps -ef | tail -n 1,但我想首先找到PID然后找到进程),所以我用下面的命令找到了使用最高PID的过程: ?ps -ef | cut -d“” – f 6 | sort | tail -n 1 然后我发现ps -p获得最高的PID并输出匹配过程(当我手动
我的目标是用高斯PID找到进程(是的,我知道可以只做ps -ef | tail -n 1,但我想首先找到PID然后找到进程),所以我用下面的命令找到了使用最高PID的过程:
?ps -ef | cut -d“” – f 6 | sort | tail -n 1
然后我发现ps -p获得最高的PID并输出匹配过程(当我手动复制PID时有效)但出于某种原因,当我把’|’他们之间说语法错误.有谁可以指出问题是什么?
如果你有更好的方法来发布这个东西.

TNX,
院长

ps,不起作用的完整命令是:
ps -ef | cut -d“” – f 6 | sort | tail -n 1 | ps -p.

解决方法

为程序提供参数和写入程序的标准输入之间存在差异.

在第一种情况下,程序将参数列表作为字符串数组读取,可以由程序解释.在第二种情况下,程序基本上从特殊文件中读取并处理其内容.你在程序名后面放的所有内容都是参数. ps期望许多可能的参数,例如-p和进程的PID.在您的命令中,您不提供PID作为参数,而是写入ps的stdin,它忽略它.

但您可以使用xargs,它读取其标准输入并将其用作命令的参数:

ps -ef | cut -d " " -f 6 | sort | tail -n1 | xargs ps -p

这就是xargs所做的(来自man):

xargs - build and execute command lines from standard input

或者你可以使用命令替换,就像janos所示.在这种情况下,shell将$()内的表达式计算为一个命令,并改为输出其输出.因此,在扩展发生后,您的命令看起来像ps -p 12345.

男子打击:

Command Substitution
   Command substitution allows the output of a command to replace the com                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读