Cette attente script filtrera les processus par nom et montrera les processus nouvellement créés. Il s'agit essentiellement d'automatiser l'interaction de l'utilisateur avec top en envoyant 'o' et 'COMMMAND=mon_programme' pour vous. similaire à @nos Réponse.
fichier : topname.exp
#!/usr/bin/expect --
if {[llength $argv] < 1 } {
send_user "Usage: topname process_name top_cmd_args \n"
exit 1
}
set keyword [lindex $argv 0]
spawn top {*}[lrange $argv 1 end]
expect {
-re .
{
send "o\r"
expect "*add filter*"
send "COMMAND=${keyword}\r"
interact
}
}
Donc vous l'utiliseriez comme :
./topname.exp mon_programme
./topname.exp java # this filters java processes
Il a également passé d'autres drapeaux que top accepte comme -u par exemple.
./topname.exp java -u Root # this filters java processes by root user
./topname.exp java -u Root -d 1 # this filters java processes by root user and delay top update by 1 second