|
|
sybperl-l Archive
Up Prev Next
From: "Sabherwal, Balvinder K dot " <BKSabherwal at lmus dot leggmason dot com>
Subject: Problem with FORK in perl
Date: Jan 31 2001 6:14PM
I have a perl script and I am trying to FORK child proccesses. I am getting
the error as below. I get this error when I try to run the program in debug
mode. if it is run normally, it just do nothing.
the code is also given below which dose the fork.
Any help will be greatly appriciated. This code runs perfect on HP-UX and
has problems on AIX and SUN.
Debugged program terminated. Use q to quit or R to restart,
use O inhibit_exit to avoid stopping after program termination,
h q, h R or h O to get additional info.
######### Forked, but do not know how to change a TTY. #########
Define $DB::fork_TTY
- or a function DB::get_fork_TTY() which will set $DB::fork_TTY.
The value of $DB::fork_TTY should be the name of TTY to use.
On UNIX-like systems one can get the name of a TTY for the given window
by typing tty, and disconnect the shell from TTY by sleep 1000000.
Debugged program terminated. Use q to quit or R to restart,
use O inhibit_exit to avoid stopping after program termination,
h q, h R or h O to get additional info.
######### Forked, but do not know how to change a TTY. #########
Define $DB::fork_TTY
- or a function DB::get_fork_TTY() which will set $DB::fork_TTY.
The value of $DB::fork_TTY should be the name of TTY to use.
On UNIX-like systems one can get the name of a TTY for the given window
by typing tty, and disconnect the shell from TTY by sleep 1000000.
Debugged program terminated. Use q to quit or R to restart,
use O inhibit_exit to avoid stopping after program termination,
h q, h R or h O to get additional info.
######### Forked, but do not know how to change a TTY. #########
Define $DB::fork_TTY
- or a function DB::get_fork_TTY() which will set $DB::fork_TTY.
The value of $DB::fork_TTY should be the name of TTY to use.
On UNIX-like systems one can get the name of a TTY for the given window
by typing tty, and disconnect the shell from TTY by sleep 1000000.
# Forking off all the child processes begins here
for ($i = 0; $i < $no_of_child; $i++) {
$ChildPID = fork;
if (! defined $ChildPID) { # Error
$ErrCode = $E_FORK;
$ErrMsg = "Error $Self->{ErrCode}, " . "Cannot fork all
children.\n";
# Terminate all children
kill ('KILL', @ChildList);
foreach $ChildPID (@ChildList) {
waitpid ($ChildPID, 0)
}
return 0;
} elsif ($ChildPID) { # Parent
.....
} else { ........
}
}
Balvinder K. Sabherwal
Corporate Technology
Legg Mason
410.454.3649
bksabherwal@leggmason.com
IMPORTANT: The security of electronic mail sent through the Internet
is not guaranteed. Legg Mason therefore recommends that you do not
send confidential information to us via electronic mail, including social
security numbers, account numbers, and personal identification numbers.
Delivery, and timely delivery, of electronic mail is also not
guaranteed. Legg Mason therefore recommends that you do not send time-sensitive
or action-oriented messages to us via electronic mail, including
authorization to "buy" or "sell" a security or instructions to conduct any
other financial transaction. Such requests, orders or instructions will
not be processed until Legg Mason can confirm your instructions or
obtain appropriate written documentation where necessary.
|