Hi,
I'm writing again. why after doing commands, script crashes the system?
Error: Out of memory

use Frontier::Daemon::Forking; use Crypt::XXTEA; use Cfg::Config; use Unix::PasswdFile; use MIME::Base64; use constant DEMON_PASS => $Cfg::Config{demonpass}; use constant DEMON_PORT => $Cfg::Config{demonport}; $SIG{CHLD} = 'IGNORE'; print "Uruchamianie demona.\n"; my $demon = Frontier::Daemon::Forking->new( methods => { sprawdz => \&sprawdz, instaluj => \&instaluj, start => \&start, stop => \&stop, konsola => \&konsola, send => \&send, ftp => \&ftp, reinstall => \&reinstall, delete => \&delete, status => \&status, }, LocalPort => DEMON_PORT, LocalAddr => '0.0.0.0', ) or die "Nie mozna uruchomic demona, sprobuj za chwile.\nKod bledu: $ +!"; sub decrypt_params { my @params; foreach my $param (@_) { $param = decode_base64($param); $param = Crypt::XXTEA::decrypt($param,DEMON_PASS); $param = decode_base64($param); return $param; push(@params,$param); } return @params; } sub sprawdz { my ($spr) = @_; my $sprawdz = decrypt_params($spr); if($spr ne 'spr') { return 1; } return 0; } sub instaluj { my($katalogins, $loginftp, $hasloftp) = @_; decrypt_params($katalogins); decrypt_params($loginftp); decrypt_params($hasloftp); system("screen -A -m -d -S c".$loginftp." cp -r ".$katalogins." /home/ +srv".$loginftp."/"); system("useradd -d /home/srv".$loginftp."/ ".$loginftp.""); $pw = new Unix::PasswdFile "/etc/passwd"; $pw->passwd("".$loginftp."", $pw->encpass("".$hasloftp."")); $pw->commit(); undef $pw; } sub start { my($katalog, $komenda, $loginftp) = @_; decrypt_params($katalog); decrypt_params($loginftp); decrypt_params($komenda); system("cd ".$katalog.";screen -A -m -d -L -S srv".$loginftp." ".$kome +nda.""); } sub stop { my($loginftp) = @_; decrypt_params($loginftp); system("kill -3 `screen -list | grep srv".$loginftp." | cut -d . -f1` +>/dev/null 2>&1"); system("screen -wipe"); } sub konsola { my ($loginftp) = @_; decrypt_params($loginftp); system("cd /home/srv".$loginftp.";rm screenlog;tail -n 200 screenlog.0 + > screenlog;"); } sub send { my ($loginftp, $komenda) = @_; decrypt_params($loginftp); decrypt_params($komenda); system("screen -A -m -d -S tmp".$loginftp." screen -x srv".$loginftp." +"); sleep 1; system("screen -S srv".$loginftp." -X stuff '".$komenda." '"); system("kill -9 `screen -list | grep tmp".$loginftp." | cut -d . -f1` +>/dev/null 2>&1"); } sub ftp { my($loginftp, $hasloftp) = @_; decrypt_params($loginftp); decrypt_params($hasloftp); $pw = new Unix::PasswdFile "/etc/passwd"; $pw->passwd("".$loginftp."", $pw->encpass("".$hasloftp."")); $pw->commit(); undef $pw; } sub reinstall { my($loginftp, $katalogins) = @_; decrypt_params($katalogins); decrypt_params($loginftp); system("rm -r /home/srv".$loginftp."/ && cp -R ".$katalogins." /home/s +rv".$loginftp."/"); } sub delete { my($loginftp) = @_; decrypt_params($loginftp); system("rm -r /home/srv".$loginftp."/"); system("deluser ".$loginftp.""); } sub status { my($screen) = @_; decrypt_params($screen); my $stat = `screen -list | grep srv$screen`; if ( $stat =~ /^\s*$/ ) { return 0; } else { return 1; } }

In reply to Out of memory - FRONTIER DAEMON by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.