Você fez os dois cmd1
e cmd2
serem executados em paralelo. Você disse: “Inicie o cmd2 em segundo plano e separe qualquer associação com ele. Inicie o cmd1 em segundo plano e separe 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 planejar uma tarefa em segundo plano que execute cmd2 e cmd1. Isso é cmd2; cmd1
(ou melhor, cmd2 && cmd1
para executar o cmd1 somente se o cmd2 for bem-sucedido) e você precisará informar nohup
para iniciar um shell em execução em segundo plano para isso.
nohup sh -c './cmd2 >result2 && ./cmd1 >result1' &