Kezdőlap › Fórumok › Programozás › Kis Bash
- This topic has 4 hozzászólás, 3 résztvevő, and was last updated 20 years, 4 months telt el by
Tarokkk.
-
SzerzőBejegyzés
-
2005-01-19-19:33 #1998724
„A második baja, hogy ha kilépek a progból az bezárja az SSH -t ezzel valamiért a háttérben futó szervert (Amit a prog indított) is bezárja (ami elvileg háttérben fut), gondolom mert megszakad a prog futása és ezért záródik az ssh -is!”
nohup parancs
pl. „nohup ./unreal start”
a nohup-al háttérbe lehet küldeni a processzeket (tehát a szignálokra nemigen állnak meg pl. kijelentkezik a felhasználó)2005-01-20-14:55 #1998725„A második baja, hogy ha kilépek a progból az bezárja az SSH -t ezzel valamiért a háttérben futó szervert (Amit a prog indított) is bezárja (ami elvileg háttérben fut), gondolom mert megszakad a prog futása és ezért záródik az ssh -is!”
nohup parancs
pl. „nohup ./unreal start”
a nohup-al háttérbe lehet küldeni a processzeket (tehát a szignálokra nemigen állnak meg pl. kijelentkezik a felhasználó)
[align=right][snapback]112568[/snapback][/align]Sajna ez sem hatott 🙁
Beírom a sourcet hatha az segit:
Code:#———————–#
#–The–Admin–Script—#
#———————–#
#—For-MOHAA-Server—-#
#———————–#
#—Version:—-1.0—–#
#—Made-by-Tarokkk—–#
#———————–##Valtozok
SERVER=”BHB”
SERVERPORT=”12206″
#Innentol kezdve ne nyulj bele semmibe ha nem tudod mit csinalsz 🙂
HEADER=”—/—-/—-/—-/—-/—
-Menu: –
”
URES=””
#Function
function start
{
nohup /GameServer/MOHAA/$SERVER/spearhead_lnxded +set net_port $SERVERPORT +exec autostart.cfg &> /GameServer/MOHAA/BHB/running.log &
}
function getserverpid
{
for i in $(cat /GameServer/MOHAA/$SERVER/$SERVER.pid);
do
PID=$i
done}
function quit
{
echo „Viszlat”
exit
}
function statusstart
{
getserverpid
if [ „$PID” = „” ]; then
start
NEWS=”1″
else
echo „A server mar fut !!!”
NEWS=”0″
fi
}
function stop
{
getserverpid
if [ „$PID” = „” ]; then
echo „A szerver mar all !!!”
else
kill -s 9 $PID
>/GameServer/MOHAA/$SERVER/$SERVER.pid
echo „A server leallt !!!”
PID=””
fi
}
function status
{
getserverpid
if [ „$PID” = „” ]; then
echo „A server jelenleg ALL !!!”
else
echo „A server jelenleg FUT !!!”
fi
}
#Innen az ASCII vizualitas
echo „$HEADER”
#Menu kiirasa
OPTION=”START STOP RESTART STATUS HELP EXIT”
select opt in $OPTION; do
if [ „$opt” = „START” ]; then
statusstart
if [ „$NEWS” = „1” ]; then
pidof /GameServer/MOHAA/$SERVER/spearhead_lnxded +set net_port $SERVERPORT +exec autostart.cfg &>/GameServer/MOHAA/$SERVER/$SERVER.pid
echo „A szerver elindult !!!”
else
echo „Nincs uj futtatas !!!”
fi
elif [ „$opt” = „STOP” ]; then
stop
elif [ „$opt” = „RESTART” ]; then
stop
start
pidof /GameServer/MOHAA/$SERVER/spearhead_lnxded +set net_port $SERVERPORT +exec autostart.cfg &>/GameServer/MOHAA/$SERVER/$SERVER.pid
elif [ „$opt” = „STATUS” ]; then
status
elif [ „$opt” = „HELP” ]; then
echo Under
elif [ „$opt” = „EXIT” ]; then
quit
else
echo „A menu hasznalata a menu elott talalhato szammal mukodik // Tovabbi segitseg 5 -os menu!”
fi
done2005-01-20-17:09 #1998726Már csak az a problémám hogy ha SSH bezárúl akkor kampec a futásnak.
Valami olyasmire gyanakszom, hogy ha a program bezárúlna és lenne utánn valami nem azonnal kilépne müxene.
2005-01-22-12:26 #1998727Kaptam választ a problémámra:
A problema abban rejlik, hogy a ‘&’ csak a backgroundba tolja a programot, de az meg mindig a scripted gyermeke. Ha egy ilyen start-stop-daemonnal megtoldva inditod, akkor eloszor fork()-ol-> igy az init gyermeke lesz, nem a scriptede) es utana backgroundozik Smile Use Google!
Tarokkk írta:Kód:
Code:function start
{
start-stop-daemon –start –pidfile /GameServer/MOHAA/$SERVER/$SERVER.pid –background –exec nohup /GameServer/MOHAA/$SERVER/spearhead_lnxded +set net_port
$SERVERPORT +exec autostart.cfg &> /GameServer/MOHAA/BHB/running.log
}function stop
{
getserverpid
if [ „$PID” = „” ]; then
echo „A szerver mar all !!!”
else
start-stop-daemon –stop -retry –pidfile /GameServer/MOHAA/$SERVER/$SERVER.pid
echo „A server leallt !!!”
PID=””
fi
}2009-12-04-19:56 #1878068-1. akarok game servert futtatni.
-2. A server (Game) adminhoz írtam egy kis BASH scriptet /ami még nem tökéletes/. azért hogy lehessen Adminolni a szervert mindenféle egyéb jog adását mellõzve ezért a shell -t átirányítottam a scriptemre. Ami alapjábavéve mûködik csakhogy ha boot -nál indul a szerver a scriptnek nicsn joga leállítani azt a jogi problémák miatt (Hiszen a boot rootként futtatja ezért a sima felhasználó nem állíthatja le).
A második baja, hogy ha kilépek a progból az bezárja az SSH -t ezzel valamiért a háttérben futó szervert (Amit a prog indított) is bezárja (ami elvileg háttérben fut), gondolom mert megszakad a prog futása és ezért záródik az ssh -is!
Hogyan tudom megoldani, hogy ha kilép a progból fusson tovább a háttérben a Szerver ? Most egy egyszerû kis menu van amiben vannak a gombok és az egyik gomb hatására az exit parancs van ezzel lehet kilépni. Gondolom itt a bibj
1. Kérdés: Ha ez a menu -s rendszer marad akkor hogyan lehet megoldani, hogy a szerver ne zûruljon le.
2 Kérdés: Ha nem az egyszerû menu van akkor mivel lehet ?
3. Gondolom van a Bash programnál cératörõbb eszköz is amivel sokkal egyszerûbb lenne ezt megcsinálno. Mi az ?
A bash scriptet egy kis how-to ból tanultam vhol a honlapról szedtem le 😀
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz