Próbuję zbudować polecenie, które uruchamia się screen
, tworzy cztery sesje o różnych nazwach i uruchamiam cztery różne polecenia.
Wiem, jak to zrobić ręcznie:
1. screen
2. ./command1 args
3. CTRL-A :sessionname Session 1
4. CTRL-A C
5. (GOTO 2)
Czy mogę to zrobić za pomocą skryptu bash lub czegoś takiego? Jak mam to zrobić?
linux
bash
gnu-screen
ściska
źródło
źródło
.screenrc
zamiast tego należy przyjąć odpowiedź poniżej.Aby automatycznie rozpocząć wiele sesji, skonfiguruj
.screenrc
plik, plik konfiguracyjny dla ekranu. Można w nim tworzyć sesje, uruchamiać programy, zmieniać działający katalog itp. Używam go do inicjowania sesji ekranowej.Prosty przykład dla pliku .screenrc:
Powyższe
screen
polecenia tworzą jedną sesję ekranu.-t
ustawia tytuł sesji; reszta linii to polecenie do uruchomienia i jego parametry.Tak więc pierwsza i druga
screen
linia rozpoczynają sesję i uruchamiają sięvim
wewnątrz. Trzeci po prostu rozpoczyna sesję i wysyła cię po monicie.chdir
zmienia katalog roboczy dla wszystkich kolejnych sesji.Jeśli chcesz mieć wiele
.screenrc
plików, po prostu nazwij je w dowolny sposób i wybierz jeden za pomocąscreen -c myscreenrc
.źródło
Możesz używać jednocześnie opcji d, m, S:
S: Aby utworzyć ekran
d: odłączyć od ekranu
m: Aby wymusić utworzenie ekranu, niezależnie od tego, czy ekran jest wywoływany z innego ekranu, czy nie.
źródło
screen -dmS s1
itd. Nie wiedziałem, że przy grupowaniu opcji ta z argumentem nie musi być ostatnia.