Sponsored Content
Top Forums Shell Programming and Scripting How to export a variable from a child process running in background to the parent Post 302258218 by demwz on Friday 14th of November 2008 04:35:55 AM
Old 11-14-2008
exported variables are inherited from parent to child and not the other way round.
Tough there is always a way shell ist not designed to do inter Process communication (IPC) this is normaly done by shared memory access or Unix domain sockets.
your example is quite simple bcs the child ends very fast.
echo $(./child.sh)
but if you want to acces data from a running child it gets complicated.
you may let the child write to a file or fifo which is read by the parrent.
 

10 More Discussions You Might Find Interesting

1. Solaris

how to capture oracle export log while running as background process

I ran the Oracle 9i export command from a terminal to export out a big table using "exp andrew/password file=andrew.dmp log=andrew.log" From the terminal I can see that the export is running as there is some output from the oracle export job. The export job is not complete yet. When i go check... (4 Replies)
Discussion started by: hippo2020
4 Replies

2. UNIX for Advanced & Expert Users

how to make a parent wait on a child shells running in background?

Hi I have a shell script A which calls another 10 shell scripts which run in background. How do i make the parent script wait for the child scripts complete, or in other words, i must be able to do a grep of parent script to find out if the child scripts are still running. My Code: ... (1 Reply)
Discussion started by: albertashish
1 Replies

3. UNIX for Advanced & Expert Users

send a new value to a variable in a running background process

Hi guys, I have a issue with a background process, I need to update the value of a variable in that process which is running at this time and it will be running for at least 2 days. Any idea? I will apreciate your help. regards. Razziel. (2 Replies)
Discussion started by: razziel
2 Replies

4. Shell Programming and Scripting

How to make the parent process to wait for the child process

Hi All, I have two ksh script. 1st script calls the 2nd script and the second script calls an 'C' program. I want 1st script to wait until the 'C' program completes. I cant able to get the process id for the 'C' program (child process) to make the 1st script to wait for the second... (7 Replies)
Discussion started by: sennidurai
7 Replies

5. Shell Programming and Scripting

Makefile: Parent - Child Inheritance and export

Hi, I have a number of Makefiles, including a couple of files that I include in Makefiles, a few scripts that are executed through Makefiles, and I have problems with environment variables that are not inherited to the scripts properly. Simplified scenario: rootdir/Makefile: all: ... (1 Reply)
Discussion started by: Shompis
1 Replies

6. Shell Programming and Scripting

[KSH/Bash] Starting a parent process from a child process?

Hey all, I need to launch a script from within 2 other scripts that can run independently of the two parent scripts... Im having a hard time doing this, if anyone knows how please let me know. More detail. ScriptA (bash), ScriptB (ksh), ScriptC (bash) ScriptA, launches ScriptB ScirptB,... (7 Replies)
Discussion started by: trey85stang
7 Replies

7. Shell Programming and Scripting

Export variable, as a background process

Have a script where I need to wait for a process to run, but from that process I want to capture the row count. Script I have so far (easier than explanation): echo "Start" export NUMROWS=`td "select * from dbc.database" 2> /dev/null | grep "Query completed" | sed -e 's/.*Query... (7 Replies)
Discussion started by: Cranie
7 Replies

8. Shell Programming and Scripting

forking a child process and kill its parent to show that child process has init() as its parent

Hi everyone i am very new to linux , working on bash shell. I am trying to solve the given problem 1. Create a process and then create children using fork 2. Check the Status of the application for successful running. 3. Kill all the process(threads) except parent and first child... (2 Replies)
Discussion started by: vizz_k
2 Replies

9. Shell Programming and Scripting

Export variable to another script running in background

i have a script inside which i have generated a background job which will run another script. How do i export the variables from parent script to the child script which wil run in the background . a.sh:- export tmpdir="/usr/tmp" nohup b.sh& b.sh:- echo $tmpdir But... (1 Reply)
Discussion started by: millan
1 Replies

10. UNIX for Advanced & Expert Users

Issue with tracking successful completion of Child process running in background

Hello All, I am using Linux. I have two scripts: inner_script.ksh main_wrapper_calling_inner.ksh Below is the code snippet of the main_wrapper_calling_inner.ksh: #!/bin/ksh ppids=() ---> Main array for process ids. fppids=() ---> array to capture failed process ids. pcnt=0 --->... (5 Replies)
Discussion started by: dmukherjee
5 Replies
vfork(2)							System Calls Manual							  vfork(2)

NAME
vfork - spawn new process; share virtual memory SYNOPSIS
REMARKS
is a higher performance version of that is provided on some systems where a performance advantage can be attained. If the calling process is multi-threaded, the newly created child process will only contain one thread. This one thread will be a copy of the thread calling differs from only in that the child process can share code and data with the calling process (parent process). This speeds cloning activ- ity significantly at a risk to the integrity of the parent process if is misused. The use of for any purpose except as a prelude to an immediate or is not supported. Any program that relies upon the differences between and is not portable across HP-UX systems. All HP-UX implementations must provide the entry but it is permissible for them to treat it identically to On some implementations the two are not distinguished because the implementation is as efficient as possible. Other versions may do the same to avoid the overhead of sup- porting two similar calls. DESCRIPTION
can be used to create new processes without fully copying the address space of the old process. If a forked process is simply going to do an (see exec(2)), the data space copied from the parent to the child by is not used. This is particularly inefficient in a paged environ- ment, making particularly useful. Depending upon the size of the parent's data space, can give a significant performance improvement over differs from in that the child borrows the parent's memory and thread of control until a call to or an exit (either by a call to or abnor- mally (see exec(2) and exit(2)). The parent process is suspended while the child is using its resources. returns 0 in the child's context and (later) the pid of the child in the parent's context. can normally be used just like It does not work, however, to return while running in the child's context from the procedure which called since the eventual return from would then return to a no longer existent stack frame. The window begins at the call and ends when the child completes its call. RETURN VALUE
Upon successful completion, 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, no child process is created, and is set to indicate the error. ERRORS
fails and no child process is created if any of the following conditions are encountered: The system-wide limit on the total number of processes under execution would be exceeded. The system-imposed limit on the total number of processes under execution by a single user would be exceeded. DEPENDENCIES
Servers Process times for the parent and child processes within the window may be inaccurate. Parent and child processes share the same stack space within the window. If the size of the stack has been changed within this win- dow by the child process (return from or call to a function, for example), it is likely that the parent and child processes will be killed with signal or In the window, a call to (see signal(2) that installs a catching function can affect handling of the signal by the parent. The par- ent is not affected if the handling is being set to or or if is used (see sigaction(2)). AUTHOR
was developed by the University of California, Berkeley. SEE ALSO
exec(2), exit(2), fork(2), sigaction(2), wait(2). vfork(2)
All times are GMT -4. The time now is 10:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy