10-04-2013
Just backgrounding a child doesn't insure that it will not respond to HUP... so this is why the nohup command should be used on a child to ensure that it gets parented by the "init" process. If you don't use nohup, depending on what streams are left intact, you might just have a zombie parent and possibly blocked child in the end as well. Nohup is your friend.
This User Gave Thanks to cjcox For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have two shell scripts : A.sh and B.sh
A.sh
echo "In A"
exec B.sh
echo "After B"
B.sh
echo "In B"
The output is : In A
In B
I want the output : In A
In B
After B (4 Replies)
Discussion started by: suchismitasuchi
4 Replies
2. UNIX for Advanced & Expert Users
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. Shell Programming and Scripting
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:
... (5 Replies)
Discussion started by: albertashish
5 Replies
4. Shell Programming and Scripting
Hi All,
I have a script which calls a child script with a parameter to be run in the background
. childscript.ksh $a &
Can any one suggest me how do i export a variable from the child script to parent script?
Note that the child script is in background
If the child script is in... (3 Replies)
Discussion started by: aixjadoo
3 Replies
5. Shell Programming and Scripting
Hello everyone,
I'm trying to write a script, i would like to say the child kills the parent,
how would i do that? (2 Replies)
Discussion started by: jessy21
2 Replies
6. Shell Programming and Scripting
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
7. Shell Programming and Scripting
Hello all; hope someone can help me cause I am going crazy trying to find a solution for (what I think is simple) issue...looked hard up and down this forum and tried several "solutions" with no avail...so here's my issue:
I have this (parent) script: copylsofdcmcadefttosftpwithmove.sh
... (3 Replies)
Discussion started by: gvolpini
3 Replies
8. Shell Programming and Scripting
I am having a parent scripts which reads a file with child scripts name.
I need to read one by one child script , execute it and
1. If child script fails send mail to the team with the log file
2. If the child script executes fine then proceed with the next child script execution.
#!... (3 Replies)
Discussion started by: nw2unx123
3 Replies
9. Shell Programming and Scripting
#!/usr/local/bin/bash
set -vx
/prod/HotelierLinks/palaceLink/bin/PalacefilesWait /prod/HotelierLinks/palaceLink/bin/prodEnvSetup 03212013 &
if
then
echo "fatal error: Palace/HardRock failed!!!!" 1>&2
echo "Palace Failed" | mail -s "Link Failed at Palace/HardRock" -c... (1 Reply)
Discussion started by: aroragaurav.84
1 Replies
10. Shell Programming and Scripting
I have requirement where I need to fail parent if any one of the child process fails. Here is the code snippet
for i in 1 2 3 4 5 6 7 8 9 10
do
child_script $i &
done
wait
I need to fail my main script if any one of my child process fails (8 Replies)
Discussion started by: gvkumar25
8 Replies
fork(2) System Calls Manual fork(2)
Name
fork - create a new process
Syntax
#include <sys/types.h>
#include <unistd.h>
pid = fork()
pid_t pid;
Description
The system call causes creation of a new process. The new process (child process) is an exact copy of the calling process except for the
following:
o The child process has a unique process ID.
o The child process has a different parent process ID (that is, 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 a on a descriptor in the child process
can affect a subsequent read or write 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 processes resource utilizations are set to 0. For further information, see
Return Values
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 process, no child process is created, and the global variable errno is set to
indicate the error.
Diagnostics
The system call fails and no child process are created under the following conditions:
[EAGAIN] The system-imposed limit {PROC_MAX} on the total number of processes under execution would be exceeded.
[EAGAIN] The system-imposed limit {CHILD_MAX} on the total number of processes under execution by a single user would be exceeded.
[ENOMEM] There is insufficient swap space for the new process.
See Also
execve(2), wait(2)
fork(2)