是否可以使用带有awk的if和else语句执行操作
ps -ef | grep crond | awk '{ if ($1 =="root") print $1 $2}'
上面的命令为进程crond greps,如果它由root拥有,它将打印它。
但是,我不是使用打印命令来调用函数或执行命令行
(例如kill -9 $1
)。基本上杀死cron进程(如果由root拥有)
是否可以使用kill -9 $1
调用命令(示例awk
)或调用函数?
请问如何调用函数或命令?
答案 0 :(得分:2)
您可以在awk中使用system
功能:
ps -ef | awk '/crond/ && $1 == "root"{system("kill " $2)}'
也无需使用grep
,因为awk
可以处理此问题。
答案 1 :(得分:1)
您可以直接kill
来自输出的内容:
kill $(ps -ef | awk '/crond/ && $1=="root" {print $2}')
执行ps -ef
并打印包含crond
和root
作为第一列的行的第二列。