Posted to tcl by aspect at Sun May 31 03:25:08 GMT 2015view pretty
#!/usr/bin/tclsh proc multitail {args} { foreach fn $args { set chan [open "|tail -f $fn" r] fconfigure $chan -blocking 0 fileevent $chan readable [list readable $fn $chan] } } proc readable {fn chan} { if {[gets $chan line] <= 0} { if {[eof $chan]} { puts "EOF on $fn" close $chan } } else { puts "$fn:$line" } } exec touch a.txt b.txt multitail a.txt b.txt vwait forever