Jak mogę uzyskać ekran, aby wykonać polecenie, a następnie go odłączyć (to znaczy automatycznie w jednym skrypcie bez dalszych danych wejściowych poza początkowym uruchomieniem skryptu)? np. uruchamiam myscript.sh i automatycznie uruchamia sesję ekranu, wykonuje polecenie, a następnie odłącza się.
command-line
script
gnu-screen
Darkfeline
źródło
źródło
screen yourcommand
obejść się bez-d
i-m
i zobacz, jak to będzie pierwsze.zombie
opcję na ekranie. Wprowadźzombie xy
swoje~/.screenrc
. Powinno być także możliwe włączenie go tylko dla jednej sesji, b wstawianiazombie xy
innego pliku i używania,-c file
ale z jakiegoś powodu to nie działa, kiedy próbuję. Lub po prostu użyjsh -c 'yourcommand;while :;do sleep 9999; done'
Aby uruchomić pojedyncze polecenie na ekranie i odłączyć, możesz spróbować:
Aby uruchomić wiele poleceń, spróbuj:
Należy pamiętać, że po zakończeniu programu screen (domyślnie) zabija okno, które go zawierało.
Jeśli nie chcesz, aby sesja została zabita po zakończeniu skryptu, dodaj
exec sh
na końcu, np .:Aby wyświetlić listę wszystkich sesji, spróbuj:
Powiązane: Uruchom ekran Uniksa, polecenie Uruchom, Odłącz .
źródło
-S sessionname
:screen -dmS MyLongRunningScript bash -c "..."
.Aby rozpocząć nową sesję w tle o nazwie „śpiący”
Aby zabić „senną” sesję
źródło
screen -S sleepy -dm "cd myfolder;sleep 60"
?źródło
zdarzyło mi się, gdy nacisnąłem klawisz c (sig int), aby wyjść z mojego programu. wychodzi z samego końca. więc znalazłem to, aby złapać SIGINT. i zapobiegnij wyjściu z ostatniego uderzenia. (trzeba wpisać exit, aby wyjść)
Uważam, że przydatne jest używanie crona do uruchamiania programów nodejs podczas uruchamiania. i aby uruchomić ekran w czasie uruchamiania. w cronie są zdarzenia specjalne składnia @reboot zdarzenie
źródło