Chcę uruchomić skrypt bash na odłączonym ekranie. Skrypt wywołuje program kilka razy, z których każdy trwa zbyt długo, aby czekać. Moją pierwszą myślą było po prostu otwarcie ekranu, a następnie wywołanie skryptu, ale wygląda na to, że nie mogę się odłączyć (przez ctrl-a d
) podczas działania skryptu. Przeprowadziłem więc badania i znalazłem tę instrukcję, aby zastąpić shebang następującymi:
#!/usr/bin/screen -d -m -S screenName /bin/bash
Ale to też nie działa (opcje nie są rozpoznawane). Jakieś sugestie?
PS Teraz przychodzi mi do głowy, screen -dmS name ./script.sh
że prawdopodobnie zadziałałoby to dla moich celów, ale wciąż jestem ciekawy, jak włączyć to do skryptu. Dziękuję Ci.
źródło
"$0"
tu jest?screen
który wywołuje,/bin/bash
który ponownie wywołuje skrypt.Według stron podręcznika ekranowego:
screen -d -m
Ekran startowy w trybie odłączonym. To tworzy nową sesję, ale się do niej nie dołącza. Jest to przydatne w skryptach uruchamiania systemu.-S sessionname
Ustaw nazwę nowej sesji na sessionname.Kiedy uruchomiłem polecenie, które podałeś:
screen -dmS name ./script.sh
Screen uruchamia okno o nazwie name i automatycznie uruchamia ten skrypt.sh. Aby wrócić tam i zobaczyć status, wystarczy wpisać:
screen -r test
Teraz w Ubuntu 14.04 polecenia są nieco inne. Próbować:
screen -d -m -S test
Teraz, aby uruchomić skrypt, musisz przejść do pliku konfiguracyjnego, aby to zrobić:
sudo vim /etc/screenrc
Tam przewiń w dół, a zobaczysz:
To jest sekcja, w której będziesz musiał dodać nazwę skryptu, aby uruchomić, co powinno pozwolić ci zrobić wszystko, czego potrzebujesz z ekranu.
źródło
screen -dmS ...
) nie działa dla mnie, nawet jeśli naprawdę powinno. Uruchomię go, a następniescreen -ls
nie zostaną znalezione gniazda. Myśli?To jest trochę stare, ale jeden z niewielu wątków, które mogłem znaleźć, aby to zrobić. Po zabawie arount jedynym sposobem, aby uruchomić to w trybie odłączonym z Ubuntu 14. jest
Uruchomienie będzie drugą częścią powyżej, która zawiera bieżące polecenia Java i wersję serwera. Prowadzę wanilię.
źródło