Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: OT:UNIX: Anyway to run this in the background and return to ca

RE: OT:UNIX: Anyway to run this in the background and return to ca

From: Mladen Gogala <mladen_at_wangtrading.com>
Date: Fri, 22 Aug 2003 14:14:26 -0800
Message-ID: <F001.005CC835.20030822141426@fatcity.com>


No, I just wanted to demonstrate the fork mechanism in perl. The proper way to handle stuff would be to call exit
at the end of the child process, which would clean things up properly and not leave za zombie lying around.
And yes, "ps -ef" is executed only once, when the SPY handle is open.    

--

Mladen Gogala
Oracle DBA

-----Original Message-----

Matthew Zito
Sent: Friday, August 22, 2003 5:45 PM
To: Multiple recipients of list ORACLE-L ca  

Errrm - this script doesn't do what I think you're trying to do. Perl starts, it forks a child process, the parent process "does a bunch of stuff", but the child process only runs ps once. Soooo, you end up with a zombie child process (until the parent is done with its business) and a parent process that is doing all the work.  

A better solution would be to reverse the ps and the "doing stuff". Let the child process do the dirty work and let the parent focus on either generating more children or status monitoring the existing children. You could use a loop that watches for the existence of a particular pid or has a set condition and add a SIGCHLD handler that will handle cleanup of the child and remove the loop condition.  

Thanks,
Matt

--

Matthew Zito
GridApp Systems
Email: mzito_at_gridapp.com
Cell: 646-220-3551
Phone: 212-358-8211 x 359
http://www.gridapp.com <http://www.gridapp.com/>

-----Original Message-----

Mladen Gogala
Sent: Friday, August 22, 2003 2:04 PM
To: Multiple recipients of list ORACLE-L ca

#!/usr/bin/perl
use strict;
use bytes;
my $pid=0;
if (!defined ($pid=fork())) { die "Problem with cutlery:$!\n"} elsif ($pid) { print "Do stuff here\n";

               waitpid($pid,0);
               print "Cutlery is back\n";
             }
else {
         open(SPY,"ps -ef|grep sqlplus|");
         while (<SPY>) {    print;}
       }

 

--

Mladen Gogala
Oracle DBA

-----Original Message-----

Paula_Stankus_at_doh.state.fl.us
Sent: Friday, August 22, 2003 1:25 PM
To: Multiple recipients of list ORACLE-L a

$ORACLE_HOME/bin/sqlplus "/ as sysdba" << EOD select ......
exit
EOD
echo "this is a test"
ps -ef|grep sqlplus

I wish to put that into a unix command but at the same time run it in the background and return back to the parent script to do some other stuff?

Anyone done this?  

Note:
This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Wang Trading LLC and any of its subsidiaries each reserve the right to monitor all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity.    

Note:
This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Wang Trading LLC and any of its subsidiaries each reserve the right to monitor all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity.

--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Mladen Gogala
  INET: mladen_at_wangtrading.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services

---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Fri Aug 22 2003 - 17:14:26 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US