Como obter a saída do comando timeout sem usar um script de shell

1

Estou usando um executor de comando ssh em java que executa o comando e obtém a saída em stderr, stdout e um valor de saída inteiro. Estou tentando executar um comando com tempo limite,

    timeout 5s COMMAND

Existe uma maneira de obter uma resposta no stderr ou stdout para que eu possa saber se o comando foi expirado ou não?

    
por Antariksha Yelkawar 18.08.2016 / 14:31

1 resposta

2

De man timeout :

   If  the  command times out, and --preserve-status is not set, then exit
   with status 124.  Otherwise, exit with the status of  COMMAND.   If  no
   signal  is specified, send the TERM signal upon timeout.  The TERM sig‐
   nal kills any process that does not block or catch that signal.  It may
   be  necessary  to  use the KILL (9) signal, since this signal cannot be
   caught, in which case the exit status is 128+9 rather than 124.

Então ... timeout 5s command || [ $? -eq 124 ] && echo timeouted

    
por 18.08.2016 / 14:42