我有这个脚本在外壳的bash:在bash脚本中使用了循环
top | awk '{$10 $11}'> agent.csv
top | awk '{$10 $11}'> spark.csv
top | awk '{$10 $11}'> kafka.csv
top | awk '{$10 $11}'> zk.csv
top | awk '{$10 $11}'> engine.csv
for ((;;))
do
top -b -c -d 2 n 10 | grep agent >> agent.csv;
top -b -c -d 2 n 10 | grep spark >> spark.csv
top -b -c -d 2 n 10 | grep kafka >> kafka.csv
top -b -c -d 2 n 10 | grep zookeeper >> zk.csv
top -b -c -d 2 n 10 | grep engine >> engine.csv
sleep 10;
done &
我试图用“的awk”命令之前做循环是有度量%的CPU的名称和%MEM。 在循环内我试图获得具体的过程 然后把它们放入一个文件每个文件的每个进程
我没有得到我想要的东西。 没有任何内容正在写入文件。
我不明白你想用第一个顶部实现什么。你将拥有顶部的所有第10和11列,头部(僵尸,平均负载等)。另外,你的'awk'命令不会打印任何东西,所以你不会得到任何结果,它应该是这样的:'awk'{print $ 10“'$ 11}'' – Esteban
如果你想实现的是有一个头在你的文件对应的顶级命令之一,你应该尝试这样的: 'top -b -n 1 | grep“PID USER”| tee agent.csv spark.csv kafka.csv zk.csv engine.csv ' – Esteban