Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

output of a system call

by linuxfreak (Initiate)
on Jun 13, 2003 at 19:59 UTC ( [id://265785]=perlquestion: print w/replies, xml ) Need Help??

linuxfreak has asked for the wisdom of the Perl Monks concerning the following question:

hi. this is the first time i'm programming something w/ networking. what i'm trying to do is get the output of a system call on a remote computer to my local computer. how can i do this?

Replies are listed 'Best First'.
Re: output of a system call
by Zaxo (Archbishop) on Jun 13, 2003 at 21:04 UTC
Re: output of a system call
by cbro (Pilgrim) on Jun 13, 2003 at 20:12 UTC
    To get the ouput of a sytem call, you would want to do:
    $ret_val = `yoursystemcall`;
    How to get that to your local computer is up to you.
    One, you can run and assign the output of your system call to the $ret_val variable all on your remote computer and then update a database with it's value (that DB can be on your local machine or remote machine depending on your DB access setup). Now, if you allow remote access to the DB, you can get the system call output from any allowed host.
    Two, Although this is a nasty security issue, you could do:
    # on your local machine $ret_val = `ssh user@remote /path/to/executable/program`; # if your remote program outputs anything, that # value will now be in $ret_val for you use on the local # computer

    These are just suggestions on how to get that value back to your local machine. But the main thing is knowing how to get the output of a system call in general. Again, $ret_val = `yoursystemcall`;
    Update:
    If you couldn't tell by my comment, "...Although this is a nasty security issue...", I suggest the DB method :o).
      $ret_val = `system call`;

      that is what i have now, and $ret_val doesn't take the output. the system call's input comes from the keyboard and executes it on the remote computer. the code i have is:

      $cmd = <$client>;

      also had:

      chomp($cmd = <$client>);

      the system call code is:

      system("$cmd");

      i also tried writing the system call's output to a text file and print it on the remote computer like this:

      system("$cmd > cmd");
      open(OUT, "cmd");
      print $client "$cmd";


      but the system call's command doesn't work, with chomp() or without. the error message is:

      : command not found
Re: output of a system call
by vek (Prior) on Jun 14, 2003 at 18:12 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://265785]
Approved by vek
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2024-04-23 19:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found