linux下命令执行结果作为其他命令输入参数

1. 通过ps命令获取对应程序的pid

比如这里要获取redis-server这个进程的pid

# ps -ef | grep redis-server
root      60415      1 93 Feb17 ?        8-04:12:36 redis-server *:6379
root      61823  59236  0 01:26 pts/1    00:00:00 grep --color=auto redis-server


但是我们要获取具体的60415这个值,可以通过下面命令来获取命令

ps -ef | grep redis-server | grep -v grep | awk '{print $2}' 

简单介绍awk,就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。



2.把获取的pid作为其他命令的输入

这里执行一个名字为test的C程序,需要把pid作为输入参数。

方法1:

./test `ps -ef | grep redis-server | grep -v grep | awk '{print $2}'`

符号:` `
名称:反引号,上分隔符
位置:反引号(`)这个字符一般在键盘的左上角,数字1的左边,不要将其同单引号(’)混淆
作用:反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分


方法2:

ps -ef | grep redis-server | grep -v grep | awk '{print $2}'  | xargs ./test


命令:xargs

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。






参考1:http://my.oschina.net/leopardsaga/blog/112335

参考2:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
linuxtop命令是不存在的,你可能指的是常用的系统监控命令top。top命令用于实时查看系统的进程状态和资源占用情况。下面是top命令常用的一些参数及其输出结果解释: 1. top:直接输入top命令后,会展示当前系统的整体资源使用情况,包括系统负载、CPU使用率、内存使用情况等。 2. top -d <秒数>:指定刷新时间间隔,例如top -d 5表示每5秒刷新一次。 3. top -u <用户名>:只显示特定用户的进程信息。 4. top -p <进程ID>:只显示特定进程的信息,多个进程ID之间用逗号分隔。 5. top -o <排序字段>:按照指定字段排序显示进程信息,常用的排序字段有cpu(CPU使用率)、res(内存占用)、time(运行时间)等。 6. top -H:显示每个进程的线程信息。 7. top -n <次数>:只执行指定次数后退出,例如top -n 5表示执行5次后退出。 top命令的输出结果包括以下几个关键信息: - PID:进程ID - USER:进程所属用户 - PR:进程优先级 - NI:进程的nice值 - VIRT:进程使用的虚拟内存大小 - RES:进程使用的物理内存大小 - SHR:进程使用的共享内存大小 - S:进程状态(R表示运行,S表示睡眠,Z表示僵尸) - %CPU:进程使用的CPU占比 - %MEM:进程使用的内存占比 - TIME+:进程运行时间累计 - COMMAND:进程的命令名 注意:top命令可以根据你的终端大小自动调整输出格式,如果终端宽度不够,部分信息可能被截断或省略。你可以使用top的参数来调整显示内容和格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值