Tem dois comandos cmd1 e cmd2. Dos dois, o cmd2 leva mais tempo para terminar. Precisa executar o cmd2 e depois o cmd1.
Tentou executá-los da seguinte maneira:
bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 &
ou
bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 &
Mas o tempo que vejo cmd1 não está esperando o cmd2 terminar e o resultado1 é preenchido.
Como fazer com que o cmd1 seja executado após o cmd2, quando ambos devem ser processados nohup e executados em segundo plano?
shell
process
background-process
nohup
user33767
fonte
fonte
Respostas:
Você fez os dois
cmd1
ecmd2
corre em paralelo. Você disse: “Inicie o cmd2 em segundo plano e interrompa qualquer associação com ele. Inicie o cmd1 em segundo plano e interrompa qualquer associação com ele. ” Você quis dizer: “Inicie o cmd2 em segundo plano; quando estiver concluído, inicie o cmd1 (também em segundo plano). " Como não há mais nenhuma associação com a tarefa em segundo plano, é necessário criar uma tarefa em segundo plano que execute cmd2 e cmd1. Isso écmd2; cmd1
(ou melhor,cmd2 && cmd1
executar o cmd1 somente se o cmd2 for bem-sucedido), e você precisará informarnohup
para iniciar um shell em execução em segundo plano para isso.fonte
Se você não se importa em não usar nohup:
fonte
Basta usar:
fonte
informe-nos exatamente o que você está fazendo com cmd2 e cmd1. Depende do tipo de tarefa e saída que você deseja do seu comando. Se você está enfrentando problemas ao pressionar duas vezes a tecla Enter com o comando, isso pode ser descoberto pelo meu post
você pode ir por esse caminho também
Veja a captura de tela abaixo, aqui estou usando 3 comandos e todos estão executando um a um em série. Eu usei backticks para esta tarefa. Na captura de tela, você também pode observar o carimbo de data e hora. O comando sleep tem 60 segundos; portanto, após 60 segundos, meu próximo comando é executado com êxito. Eu usei o comando jobs para verificar se existe algum comando ainda em execução em segundo plano. Aqui não. dos trabalhos que você pode ver é 1.
Esta captura de tela também está disponível neste link , se não estiver visível
fonte