In case of one program having multiple instances, running pidof program
gives:
`1 2 3`
top -p
accepts comma-delimited arguments: 1, 2, 3
.
This means that top -p `pidof program`
won't work:
top: unknown argument '1'
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
Can you show me how to do this. I'm not familiar with awk, sed, etc…
Best Answer
An alternative to
sed
for simple things like this istr
:tr
can also easily handle a variable number of spaces:Additionally, if you have it available,
pgrep
can work well here:Make sure that you leave a space between
-d
and,
as the comma is the argument (the deliminator).Also, note that pgrep will return every result of "program" so if you have a process called "program-foo," then this will also be returned (hence the name pgrep).