Kis Bash

Kezdőlap Fórumok Programozás Kis Bash

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #1998724
    Gyuszk
    Felhasználó

      „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ó)

      #1998725
      Tarokkk
      Felhasználó

        „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
        done

        #1998726
        Tarokkk
        Felhasználó

          Má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.

          #1998727
          Tarokkk
          Felhasználó

            Kaptam 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
            }

            #1878068
            csaba
            Felhasználó

              -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 😀

            5 bejegyzés megtekintése - 1-5 / 5
            • Be kell jelentkezni a hozzászóláshoz.