我结合top
并pidof
命令:
top -p $(pidof <process_name>)
如果pidof <process_name>
返回一个 idtop
命令有效。但如果pidof <process_name>
有多个idstop
命令就不起作用了。
pidof
返回 id 之间有一个空格,例如:123 124 125
如果我能用逗号获取这些 id,则123, 124, 125
top
命令将起作用。如何更改 的输出格式pidof
?
我知道awk
用于格式化文本数据。但我找不到如何使用awk
shell 命令的结果。
答案1
使用bash
:
top -p "$(pname="$(pidof <process_name>)"; echo "${pname// /,}")"
使用tr
:
top -p "$(pidof <process_name> | tr ' ' ',')"
使用sed
:
top -p "$(pidof <process_name> | sed 's/ /,/g')"
答案2
尝试使用以下方法awk
:
top -p $(pidof <process_name>|awk '{gsub(/ /, ","); print }')
答案3
你可以试试这个:
top -p "$(pidof <process_name> | awk 'OFS="," { $1 = $1; print; }')"