06-16-2008
From child back to parent
Well, you can EXPORT data to go from parent to child, but this does not help you in going from child back to parent (process).
A couple of thougts:
(a) You could utilize the return code from the child process. Instead of simply using an "exit", you could use "exit 1" (or whatever) to pass something back to the parent. Caution should be used in this application since returning any value is normally significant to there being an error in the child process.
(b) Write a temporary file, perhaps even with information in it. The child can create a work file that the parent program will read for next steps.
Personally, I like the 2nd approach as it is cleaner. However, with careful consideration, the 1st approach might also work for you.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have an application on Informix 4GL, and I am invoking the shell script from the program, but I need to know if the shell script work fine or not, in order to continue the process.
I know that we can use $? to get the final status but this is on unix command. How can I return a value from the... (3 Replies)
Discussion started by: jennifer01
3 Replies
2. Shell Programming and Scripting
Dear all,
When i ask a question in my script if the answer is not correct i need to goback to the begning of the script and ask the question again.
ex - What is your name ?
saman
Name is not correct ...try again
What is the name ?
Nimal
Thank you.... (2 Replies)
Discussion started by: Nayanajith
2 Replies
3. Shell Programming and Scripting
Hi everybody,
I have a script in which I'm invoking another script which runs in a subshell.
after the script is executed I want to return to the parent shell as some variables are set. However i'm unable to return to my original shell as the script which i'm calling inside is invoked in... (5 Replies)
Discussion started by: gurukottur
5 Replies
4. Shell Programming and Scripting
Is there a way you can return a value from a script that is called from a rm cobol program...
01 WS-COMD-LINE-PGM X(39) value sh ./getUserId.sh 12345"
01 WS-RETURN-SYS-CODE PIC 9(8).
CALL "SYSTEM" USING WS-COMD-LINE-PGM
GIVING WS-RETURN-SYS-CODE.
... (1 Reply)
Discussion started by: pavanmp
1 Replies
5. Shell Programming and Scripting
Found myself stuck on this seemingly trivial issue. I have this script which call other shell files to do their deeds. The shell files in turn call some other programs as well. My problem is that in two of these shell files, the control doesnt return to next command in script unless the Enter key... (2 Replies)
Discussion started by: DoesntMatter
2 Replies
6. Shell Programming and Scripting
hello i write a script which calculate free space but he always is 0 thats wrong with my script?
getFileSystemPerformanceData()
{
if ; then
if grep -q "Ubuntu" /etc/issue ; then
CMD="df -lP | grep -v "\/home" | grep -v "\/dev/mapper/VolGroup-lv_root""
elif grep... (5 Replies)
Discussion started by: donatas1234
5 Replies
7. UNIX for Dummies Questions & Answers
My problem in brief is that I execute a script from another script and I can not pick up the return code from that script, or otherwise I am not returning from that script. I have an echo in the executed script and we get a response code of 0 and exit that script with the return code. I then try to... (1 Reply)
Discussion started by: Charles Swart
1 Replies
8. Shell Programming and Scripting
Hello All,
I have a UNIX script which will prepare anonymous oracle pl/sql block in a temporary file in run time and passes this file to sqlplus as given below.
cat > $v_Input_File 2>>$v_Log << EOF
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL DML PARALLEL 16';
EXECUTE... (1 Reply)
Discussion started by: vikas_trl
1 Replies
9. UNIX for Beginners Questions & Answers
Hi there
I am trying to create a script where I am checking the process is being run by the correct user, when I go to run the script it is not returning what I am expecting and I am not 100% sure why!!!
First off I have determined what the process user should be at the top of the script ... (3 Replies)
Discussion started by: simpsa27
3 Replies
10. Shell Programming and Scripting
Hello All,
I have exactly same issue @vikas_trl had in following link:
https://www.unix.com/shell-programming-and-scripting/259854-control-not-returning-sqlplus-calling-unix-shell-script.html
I wonder if he or somebody else could find the issue's cause or the solution.
Any help would... (4 Replies)
Discussion started by: RicardoQ
4 Replies
FORK(2) BSD System Calls Manual FORK(2)
NAME
fork -- create a new process
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
pid_t
fork(void);
DESCRIPTION
The fork() system call causes creation of a new process. The new process (child process) is an exact copy of the calling process (parent
process) except for the following:
o The child process has a unique process ID.
o The child process has a different parent process ID (i.e., the process ID of the parent process).
o The child process has its own copy of the parent's descriptors. These descriptors reference the same underlying objects, so that,
for instance, file pointers in file objects are shared between the child and the parent, so that an lseek(2) on a descriptor in the
child process can affect a subsequent read(2) or write(2) by the parent. This descriptor copying is also used by the shell to
establish standard input and output for newly created processes as well as to set up pipes.
o The child process' resource utilizations are set to 0; see setrlimit(2).
o All interval timers are cleared; see setitimer(2).
o The child process has only one thread, corresponding to the calling thread in the parent process. If the process has more than one
thread, locks and other resources held by the other threads are not released and therefore only async-signal-safe functions (see
sigaction(2)) are guaranteed to work in the child process until a call to execve(2) or a similar function.
RETURN VALUES
Upon successful completion, fork() returns a value of 0 to the child process and returns the process ID of the child process to the parent
process. Otherwise, a value of -1 is returned to the parent process, no child process is created, and the global variable errno is set to
indicate the error.
ERRORS
The fork() system call will fail and no child process will be created if:
[EAGAIN] The system-imposed limit on the total number of processes under execution would be exceeded. The limit is given by the
sysctl(3) MIB variable KERN_MAXPROC. (The limit is actually ten less than this except for the super user).
[EAGAIN] The user is not the super user, and the system-imposed limit on the total number of processes under execution by a single
user would be exceeded. The limit is given by the sysctl(3) MIB variable KERN_MAXPROCPERUID.
[EAGAIN] The user is not the super user, and the soft resource limit corresponding to the resource argument RLIMIT_NPROC would be
exceeded (see getrlimit(2)).
[ENOMEM] There is insufficient swap space for the new process.
SEE ALSO
execve(2), rfork(2), setitimer(2), setrlimit(2), sigaction(2), vfork(2), wait(2)
HISTORY
The fork() function appeared in Version 6 AT&T UNIX.
BSD
May 31, 2013 BSD