Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: Input Enter while Execution of a process

by Corion (Patriarch)
on Sep 04, 2017 at 13:00 UTC ( [id://1198661]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Input Enter while Execution of a process
in thread Input Enter while Execution of a process

Aah, OK - that helps me understand your problem better.

Basically you want to monitor the output of the installation script, and if it asks for input (or asks to run some commands as root), you want to do that from your Perl script and then tell the other script to continue.

First I would look if that installation script itself can invoke or prepend another command (like sudo ...) in front of the needed root commands instead for automated installation.

If there is no such facility, you can either redirect the output of install.zsh to a file and monitor the file or use IPC::Run3 or Expect to communicate with the installation script.

Personally, I would try the following approach, launching install.zsh in the background having it write to a file but keeping the input to it open:

use File::Tail; my $logfile = '/tmp/install.zsh.log'; my $child = open my $install_zsh, "| /bin/zsh $HOME/env/$ENV{DEST_SCRI +PT_HOST}/db_silent_install/11gR2-11.2.0.1.0/install.zsh >$logfile"; # Sleep to give the logfile time to fill sleep 5; my $timeout = time + 60; my $log = File::Tail->new($logfile); while (defined($line=$log->read)) { print "$line"; if( $line =~ /root user/ ) { print "Running magic helper commands as root\n"; system("sudo ...") == 0 or die "$?"; print "Sending ENTER to install script\n"; print $child "\n"; }; }

Update: s/\$file/\$log/, spotted by johngg

Replies are listed 'Best First'.
Re^4: Input Enter while Execution of a process
by pratikmonu (Novice) on Sep 06, 2017 at 04:29 UTC

    Thanks , it worked for me

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-04-25 23:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found