У меня есть сценарий как ниже:
Мне назвали файл удара infra.sh
. В этом infra.sh файле я имею ниже команд:
#!/bin/bash
gnome-terminal -e 'sh -c "bash ./redis-server.sh && sleep 30"'
gnome-terminal -e 'sh -c "bash ./redis-client.sh && sleep 30"'
gnome-terminal -e 'sh -c "bash ./playServer.sh && sleep 30"'
gnome-terminal -e 'sh -c "bash ./proclient-service.sh && sleep 30"'
gnome-terminal -e 'sh -c "bash ./infoServer.sh"'
Теперь, если я выполняюсь infra.sh
от терминала путем ввода
sudo sh ./infra.sh
затем, все команды выше выполняются в отдельных терминалах. Они работают.
Но я хочу сделать его таким способом, которым я запущу infra.sh
способом, что все услуги будут работать в фоне и а также терминал, от которого я выполнил команды для запуска infra.sh
также войдет в фон.
Действительно ли это возможно?
заранее спасибо.
Две опции здесь:
gnome-terminal <command> &
: выполнит ту команду в фоновом режиме, но будет закончен, если терминал будет закрыт.
nohup gnome-terminal <command> &
: будет работать в фоне и продолжать бежать, даже если окно терминала закроется.
Теперь запущенный тот скрипт с также &
или nohup
как так nohup sudo sh ./infra.sh &
или sudo sh ./infra.sh &