Como posso executar um aplicativo enquanto outro aplicativo está em execução? [duplicado]

1

Eu quero executar um aplicativo quando algum outro aplicativo estiver sendo executado. por exemplo. em um script eu inicio um aplicativo:

#!/bin/sh
bob

e este aplicativo será executado por um longo período de tempo. No entanto, , quero executar outro aplicativo alice (que usará os resultados do bob ) 5 segundos depois de iniciar o bob . Como devo proceder?

    
por Alimea 15.01.2017 / 06:25

2 respostas

5

Dependendo de como alice e bob são gravados e de quão rápido cada um é executado, isso pode ser tão fácil quanto:

#!/bin/sh
bob &
sleep 5
alice

mas isso tem essas suposições:

  • bob não bloqueia seus arquivos de saída exclusivamente
  • bob é executado mais rapidamente do que alice
  • alice não precisa do conjunto completo de resultados de bob para iniciar a execução.

Se qualquer uma das suposições acima não for cumprida, a solução é:

  1. Invente uma máquina do tempo
  2. Volte no tempo com tempo suficiente
  3. Iniciar bob
  4. Volte para o horário atual + 5 segundos
  5. Iniciar alice
por Fabby 15.01.2017 / 22:23
1
  

e este aplicativo será executado por um longo período de tempo. No entanto, quero executar outro aplicativo alice (que usará os resultados do bob) 5 segundos depois de iniciar o bob.

Isso parece arbitrário. Se você executar bob | alice , então alice começará imediatamente a processar a saída de bob . alice irá processá-lo tão rápido quanto bob pode produzi-lo.

Qual é a sua questão real ? O que você está realmente tentando realizar? Sem mais detalhes, esta questão não pode ser respondida.

    
por Sam Gleske 17.01.2017 / 07:30