Get unix ‘top’ command output from Expect script

expecttopunix

All,
EDIT
I want to execute a unix statement in Expect script and get an output without having to include the interact statement.The unix statement outputs rsize value for a process. I haven't programmed in Expect before.
This is my code:

 #!/usr/bin/expect
 set some_host "some host"
 set Mycmd "top -l 1 -stats pid,rsize,command | grep Process_Name| awk '{print \$2};'"
 spawn telnet localhost $some_host
 expect "login:"
 send "myDevice\r"
 expect "Password:"
 send "$password\r"
 expect "\$"
 send "$Mycmd\r"   
 interact

If I don't include the interact statement, I don't get any output. How do I get this to work so that I get the correct rsize value as the output?

Best Answer

Why not just use the output of ps?

$ ps -p <pid> -o rss | egrep '[0-9]'

Remotely, you can do this over ssh:

$ ssh user@host ps -p <pid> -o rss | egrep '[0-9]'