Estou assumindo quando você afirma que deseja que eles comecem "juntos", o que você quer dizer com proximidade relativa um do outro. Para isso, basta executar os scripts na ordem em que você deseja uma linha após a outra.
#!/bin/bash
./script2.sh &
.script1.sh
Para capturar o final do processo em segundo plano, você deverá armazenar o PID do primeiro. Para fazer isso, coloque o processo de script em segundo plano e armazene $!
em uma variável local.
Se você quiser também matar o processo em segundo plano ao matar o script em primeiro plano, use a função trap
do Bash. Passe uma função ou um bloco de código que você deseja executar e os sinais que você gostaria de capturar.
#!/bin/bash
./script2.sh &
SCRIPT_2_PID=$!
trap "kill $SCRIPT_2_PID; exit" SIGHUP SIGINT SIGTERM
./script1.sh
Por favor, note que a função trap
substitui a resposta típica aos sinais fornecidos, então se você quiser que o script saia em CTRL + C você precisará incluir o exit
.