Znaczy to działa tak
pierwsze co robi to sprawdza czy serwer jest uruchomiony;
jeśli jest otrzymujemy
Serwer Shoutcast jest juz uruchomiony!
jeśli nie to idzie dalej i odpala go
su $USER -c $SCHOME/$SCBIN $SCHOME/$SCCONFIG 2&>>$SCHOME/$SCLOGS &
potem jest sprawdzenie czy serwer został uruchomiony bez problemu
ps --user $USER | grep $SCBIN
jeśli tak to powinno robić
thenthen
ps --user $USER | grep $SCBIN | cut -c 1-9 | tr -d [:alpha:] > $SCHOME/$SCPID
echo -e "\\E[32m[OK]\\033[0m Serwer Shoutcast zostal uruchomiony!"
a jeśli nie to otrzymujemy komunikat
Serwer nie mogl zostac uruchomiony! Sprawdz plik $SCLOGS!
czyli jest błąd w konfiguracji czy gdzieś indziej. Zmieniłem na tak
function start {
if [[ `ps --user $USER | grep $SCBIN` ]]; then
echo -e "\\E[31m[ERROR]\\033[0m Serwer Shoutcast jest juz uruchomiony!"
else
su $USER -c nohup $SCHOME/$SCBIN $SCHOME/$SCCONFIG 2&>>$SCHOME/$SCLOGS &
if [[ `ps --user $USER | grep $SCBIN` ]]; then
ps --user $USER | grep $SCBIN | cut -c 1-9 | tr -d [:alpha:] > $SCHOME/$SCPID
echo -e "\\E[32m[OK]\\033[0m Serwer Shoutcast zostal uruchomiony!"
else
echo -e "\\E[31m[ERROR]\\033[0m Serwer Shoutcast nie mogl zostal uruchomiony! Sprawdz plik $SCLOGS!"
fi
fi
}
i o dziwo działało. I po chwili zmieniłem pozycję jednej zmiennej (z połowy kodu na początek) i znowu nic. Przywróciłem tą zmienną na jej stare miejsce i znowu nic.
Właśnie uruchomiłem skrypt i znowu zadziałało, ale tylko
jeden raz!. Zatrzymałem serwer i chciałem powtórzyć
start i już znowu od razu error, ale serwer się uruchamia. W ogóle o co chodzi? Raz działa, a raz nie.
snajper_8383 ta komenda działa prawidłowo bo mam ją też w funkcji
status która działa idealnie.