matek04040 | 2020-04-16 23:58:30 UTC | #1
Jak w temacie. Co zrobić, aby plik start.sh działał (gdy na przykład serwer zaliczy crash lub zwyczajnie po wpisaniu komendy /restart). Do tej pory, gdy wpiszę “/restart” serwer po prostu się wyłącza.
W pliku start.sh umieściłem:
cd /home/mc
screen -dmS x java -Xms9216M -Xmx9216M -jar silnik.jar
Nieznajomy11 | 2020-04-16 23:57:21 UTC | #2
Pętlę:
#!/bin/sh
cd /home/mc
while true; do
java -Xms9216M -Xmx9216M -jar silnik.jar
sleep 2
done
I wtedy dopiero odpalasz ten skrypt z środka screena:
screen -dmS x ./start.sh
matek04040 | 2020-04-16 23:28:55 UTC | #3
Za pomocą
screen -dmS x ./start.sh
Mam uruchamiać serwer, tak?
Nieznajomy11 | 2020-04-16 23:36:31 UTC | #4
Tak, będąc w katalogu, gdzie jest plik start.sh
.
Możesz też robić to w taki sposób:
screen -s x
I wtedy wpisujesz ./start.sh
po otworzeniu screena, dzięki temu zobaczysz ewentualne błędy.
matek04040 | 2020-04-16 23:33:06 UTC | #5
Znajduję się w lokalizacji pliku start.sh (/home/mc) i po wpisaniu
screen -dmS x ./start.sh
nic się nie dzieje. Co robię źle?
Timo | 2020-04-16 23:35:16 UTC | #6
Serwer odpala się w tymże screenie, więc go nie widzisz.
Przejdź do screena za pomocą komendy screen -r
.
matek04040 | 2020-04-16 23:38:44 UTC | #7
Nic się nie odpala, na serwer wejść nie mogę, a po próbie przejścia do screena wyskakuje komunikat There is no screen to be resumed matching x.
matek04040 | 2020-04-16 23:54:29 UTC | #8
Nieważne, mój błąd :P Robiłem to pierwszy raz, więc nie wiedziałem co do czego.
W konsoli wystarczyło przejść do katalogu w którym znajdował się start.sh i wpisać:
chmod 777 start.sh
Na przyszłość, dla osób, które będą miały podobny problem.
Nieznajomy11 | 2020-04-17 03:14:06 UTC | #9
Zadziałało, ale prawdopodobnie poprawniejszym rozwiązaniem byłoby:
chmod +x start.sh
Chodzi tutaj o brak bitu oznaczającego plik jako wykonywalny.
system | 2020-05-19 03:13:56 UTC | #10
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.