com expect
:
#!/usr/bin/env expect
package require Tcl 8.5
proc time_to_die {sid} {
close $sid
# if close is insufficient (e.g. the program is badly behaved) may
# need to instead get and blast away at the pid
#set pid [exp_pid $sid]
#exec kill $pid
exit
}
# spam output to this here file
log_file log
spawn -noecho TODOyourprogramhereFIXME
# and this here is in milliseconds
after 10000 [list time_to_die $spawn_id]
vwait godot
O qual deve executar o programa em um PTY, coletar sua saída por meio da chamada log_file
e, após 10 segundos, fechá-lo. Se houver uma saída distinta que acontece antes dos 10 segundos, pode-se detectar e fechar ou matar o programa quando isso acontece com uma detecção mais típica de expect
da saída do programa.