A maneira mais simples de fazer isso é com o comando timeout
. O comando timeout
permite que você execute um comando especificado e, se esse comando não sair do próprio, dentro de um determinado tempo limite, timeout
o mata.
Por exemplo
# timeout 3 sleep 1; echo exit=$?
exit=0
# timeout 3 sleep 5; echo exit=$?
exit=124
# timeout 3 nc google.com 80; echo exit=$?
nc: using stream socket
exit=124
timeout
não está definido no padrão POSIX, portanto, não é garantido que ele esteja em todos os lugares, mas parece ser predominante.