Szerző Téma: C++ Restarter Linux-ra  (Megtekintve 1477 alkalommal)

C++ Restarter Linux-ra
« Dátum: 2012. augusztus 06. - 10:34:44 »
+4 Show voters
Üdv!
Nos, ahogy VPS-em van, így megkellett írnom 1 restartert a szerverekhez!
Forrás:
 
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
int main( )
{
        while( true )
//      if( true )
        {
                FILE *ls = popen( \"pidof samp03svr\", \"r\" );
                if( !ls ){ return 1; }
                char buf[ 4 ] = \" \";
                fgets( buf, sizeof( buf ), ls );
                if( strlen( buf ) < 2 )
                {
                        //printf( \"Nem megy a szerver!\" );
                        system( \"cd /ahovaraktadaszervert && ./samp03svr\" );
                }
                pclose( ls );
                usleep( 1000 );
        }
        return 1;
}

 
Jah és nohup-al futtassátok, ha lefordítjátok, szóval így: nohup ./program( vagy ahogy elmentetted ) &
EDIT: Aki nem tudja hogy kell lefordítani, az letölheti innen: http://95.140.33.188/program
« Utoljára szerkesztve: 2012. augusztus 06. - 10:45:56 írta lackos888 »

C++ Restarter Linux-ra
« Válasz #1 Dátum: 2012. augusztus 06. - 10:53:05 »
0 Show voters
hasznos tetszik! :thumbsup:

Nem elérhető Szilard

  • Adminisztrátor
  • 1832
    • Profil megtekintése
C++ Restarter Linux-ra
« Válasz #2 Dátum: 2012. augusztus 10. - 16:51:47 »
0 Show voters
Jó, csak nem értem, hogy miért nem bash-ban írtad meg :D.
Sokkal könnyebb, egyszerûbb.

C++ Restarter Linux-ra
« Válasz #3 Dátum: 2012. augusztus 10. - 21:11:17 »
0 Show voters
Idézetet írta: Szilard00 date=1344610307\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25604\" data-ipsquote-contentclass=\"forums_Topic
Jó, csak nem értem, hogy miért nem bash-ban írtad meg :D.
Sokkal könnyebb, egyszerûbb.
 
Mert Bash-ban nem vagyok annyira jó, am is gyakorolni akartam C++-t.

C++ Restarter Linux-ra
« Válasz #4 Dátum: 2012. augusztus 10. - 22:12:18 »
0 Show voters
lesz ezmég jobbis :D, grat :D

Nem elérhető Szilard

  • Adminisztrátor
  • 1832
    • Profil megtekintése
C++ Restarter Linux-ra
« Válasz #5 Dátum: 2012. augusztus 11. - 07:26:38 »
0 Show voters
Bash restarter Linux-ra:
 
#!/bin/bash
while [ true ]; do
PID=\'pidof samp03svr\';
if ! kill -0 $PID > /dev/null 2>&1; then
cd /samp/helye && ./samp03svr
fi
done

 
:D. Sokkal egyszerûbb, és még kisebb is.
Viszont ezek a scriptek nem mûködnek, ha több SA-MP-t futtatsz különbözõ portokon. Arra egy másik kell:
 
#!/bin/bash
while [ true ]; do
if ! netstat -alnp | grep 7777 2>&1 1> /dev/null
then cd /samp/helye && ./samp03svr
fi
done

 
Így ha a 7777 porton nem fut semmi, akkor elindítja a SA-MP szervert. A portot és a könyvtárat kell átírni.
« Utoljára szerkesztve: 2012. augusztus 11. - 07:41:44 írta Szilard00 »

C++ Restarter Linux-ra
« Válasz #6 Dátum: 2012. augusztus 11. - 10:30:11 »
0 Show voters
Majd gyakorlom akk Bash-t is.  :D
De am szép!  :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal