awk命令在ps -ef中的应用

本文深入解析awk命令的功能和格式,通过多个示例展示如何使用awk处理进程信息、删除共享内存等,涵盖ps、xargs、ipcs及ipcrm等命令的配合使用。

1、awk作用:

处理每一行的字段内的数据,默认的字段的分隔符为空格或tab键。

2、格式:

awk '条件类型1{动作1} 条件类型2{动作2}' filename 

示例1:

执行命令 :test.sh myprocess

// test.sh   //$1表示脚本后的参数,即:myprocess,下同。

#!/bin/sh

ps -ef |grep $1 |grep -v "grep" |grep -v "/bin/sh"|awk '{print $2}'

---------------------->awk '{print $2}'-------------->打印第二个字段(进程号)

示例2:

#!/bin/sh
ps -ef |grep $1 |grep -v "grep" |grep -v "/bin/sh" |awk '{print $2, $8}'  ----------->默认各个参数用,隔开,显示结果参数间为空格

---------------------->awk '{print $2,$8}'-------------->打印第二个字段和第8个字段(进程号和进程名)

--------------------->也可以直接打印第8个参数,这样就是看该进程在不在运行。

示例3:

#!/bin/sh
ps -ef |grep $1 |grep -v "grep" |grep -v "/bin/sh" |awk '{print $2}' |xargs kill -15

------------------------>找到该进程,然后kill  -15 该进程

注意:xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令

也可以参考该文的形式,如下所示:

kill -15 `ps -ef|grep $1|grep -v grep|awk ‘{print $2}‘`

示例4:

#/usr/bin/sh
ipcs -m |grep 15073 |awk '{print $1}' |xargs ipcrm -M

-------------->删除共享内存

示例5:

ps -u 用户名|grep testpro |grep -v "grep" |awk '{print $1,";", $4}'       ---->中间用;隔开

附表:

ipcs和ipcrm用法简介------参考文章

命令名称:ipcs

使用权限:所有使用者

使用方式:

ipcs [-m|-q|-s]

-m       输出有关共享内存(shared memory)的信息

-q       输出有关信息队列(message queue)的信息

-s       输出有关“遮断器”(semaphore)的信息

命令名称:ipcrm

使用权限:所有使用者

使用方式:

ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] ...

说明:删除消息队列、共享内存、信号灯

参数:

-M   以shmkey删除共享内存

-m   以shmid删除共享内存

-Q   以msgkey删除消息队列

-q    以msgid删除消息队列

-S    以semkey删除信号灯

-s    以semid删除信号灯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值