我有一堆需要检查 CPU 亲和力的进程,所以我得到了这个:
for i in `ps -Fae | grep proc_name| awk '{print $2}'`; do taskset -acp $i;done
但我有一个问题,taskset 也显示了所有子进程的 pid,所以我得到了大量的数字以及它们的 cpu 亲和力。
我想将上面的行通过管道传输到 an 中egrep 'pid1|pid2'
,以便过滤掉所有子进程。
我试过这个:
for i in `ps -Fae | grep proc_name| awk '{print $2}'`; do taskset -acp $i;done | xargs egrep 'ps -Fae | grep proc_name| awk '{print $2}''
但我的 ksh shell 根本不喜欢 awk 括号。
所以我有两个问题:
- 可以将taskset更改为仅显示父pid吗?
- 我如何写最后一位我只使用父 pid 的地方?