Skocz do zawartości
zoxovsky

skrypt bash do włączania/zabijania procesu

Polecane posty

Siemka

 

Da się stworzyć skrypt który będzie uruchamiał :

screen xinit /opt/ts3bot/ts3bot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac

coś ala ./skrypt.sh start/stop

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Coś takiego:

#!/bin/bash

case "$1" in
"start")
	screen xinit /opt/ts3bot/ts3bot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac
	echo "Usluga wlaczona."
	;;
"stop")
	killall ts3bot
	echo "Usluga zabita!"
	;;
*)
	echo "Nie wiem co mam zrobic :("
	;;
esac

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeszcze jedno pytanie, czy po odpaleniu tego skryptu on bedzie dzialal w tle czy bedzie trzeba samemu ustawic go w dzialaniu w tle ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak odpalisz screena w taki sposób: screen -m -d polecenie, to uruchomi się od razu jako zminimalizowany, więc będzie działać w tle. Możesz zrobić coś takiego:

#!/bin/bash

case "$1" in
"start")
	screen -m -d -S bot xinit /opt/ts3bot/ts3bot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac
	echo "Usluga wlaczona."
	;;
"stop")
	screen -S bot -X quit
	echo "Usluga zabita!"
	;;
*)
	echo "Nie wiem co mam zrobic :("
	;;
esac

Oczywiście warto byłoby dodać funkcje typu sprawdzenie, czy proces już istnieje itp.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może tak:

#!/bin/bash

case "$1" in
"start")
	if ! screen -list | grep -q "bot"; then
		screen -m -d -S bot xinit /opt/ts3bot/ts3bot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac
		echo "Usluga wlaczona."
	else
		echo "Usluga jest juz wlaczona."
	fi
	;;
"stop")
	if screen -list | grep -q "bot"; then
		screen -S bot -X quit
		echo "Usluga zabita!"
	else
		echo "Usluga jest wylaczona."
	fi
	;;
*)
	echo "Nie wiem co mam zrobic :("
	;;
esac

Nie testuję tego, także dawaj znać czy działa :P

Edytowano przez Bartosz Z (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

czyli praktiko moglbym robic to tak jak serwer od teamseapk taki jak by autostart

 

service ts3 status/start/stop ??

 

w sensie na to samo wychodzi dodajac ten skrypt do init.d :P

Edytowano przez zoxovsky (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Moglbys jeszcze to przerobic w ten sposob jesli sprawdze : ts3bot.sh status to mi wywali np. czy usluga dziala czy nie. ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach


#!/bin/bash

case "$1" in
"start")
if ! screen -list | grep -q "bot"; then
screen -m -d -S bot xinit /opt/ts3bot/ts3bot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac
echo "Usluga wlaczona."
else
echo "Usluga jest juz wlaczona."
fi
;;
"stop")
if screen -list | grep -q "bot"; then
screen -S bot -X quit
echo "Usluga zabita!"
else
echo "Usluga jest wylaczona."
fi
;;
"status")
if screen -list | grep -q "bot"; then
echo "Usluga jest wlaczona."
else
echo "Usluga jest wylaczona."
fi
;;
*)
echo "Nie wiem co mam zrobic :("
;;
esac

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×