Sponsored Content
Full Discussion: Trapping Background Process
Top Forums Shell Programming and Scripting Trapping Background Process Post 302959722 by Don Cragun on Thursday 5th of November 2015 01:06:50 PM
Old 11-05-2015
Quote:
Originally Posted by Showdown
I am calling one shell script from my wrapper shell script
The pseudo code for the same is

Code:
  nohup  sh script1.sh
  script.sh is  calling  script2.sh inside it  5 times followed by a  wait command 
  
  
  #1 /bin/bash
  nohup sh script2.sh 1 &
  nohup sh script2.sh 2 &
  nohup sh script2.sh 3 &
  nohup sh script2.sh 4 &
  nohup sh script2.sh 5 &
  wait.
  connect sql --> stmp success/fail status to error log table.

The sql statement at the bottom of the script should insert a success flag if all the background scriptts are successful.
If one or more background script fails then it should stamp the error message in the errorlog table with the error code and PID.

Can you guys focus some light on the above !!!
Many Thanks
Note that the line in red is just a comment. To have a line like that specify the shell to be used to run the script, you need #! instead of #1 and the #! must appear at the start of the line (with no leading spaces), and there shouldn't be any spaces between #! and the pathname of the shell you want to use.

For the rest of it, I'll let you form the sql, but the following will show you how to get save the PIDs and the exit status of each of the background jobs:
Code:
#!/bin/bash
nohup sh script2.sh 1 &
pid1=$!
nohup sh script2.sh 2 &
pid2=$!
nohup sh script2.sh 3 &
pid3=$!
nohup sh script2.sh 4 &
pid4=$!
nohup sh script2.sh 5 &
pid5=$!
wait $pid1
ec1=$?
echo "$pid1 exited with exit code $ec1"
wait $pid2
ec2=$?
echo "$pid2 exited with exit code $ec2"
wait $pid3
ec3=$?
echo "$pid3 exited with exit code $ec3"
wait $pid4
ec4=$?
echo "$pid4 exited with exit code $ec4"
wait $pid5
ec5=$?
echo "$pid5 exited with exit code $ec5"

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

capture the process id when starting a background process

Hello all, How do I start a background process and save the process id to a file on my system. For example %wait 5 & will execute and print the process id. I can't figure out how to get it to a file. I've tried: > filename 0>filename 1>filename. Any assistance is most appreciated. Thanks, Jim... (10 Replies)
Discussion started by: jleavitt
10 Replies

2. Shell Programming and Scripting

cause a process to be in background

Hi My script - main.sh, execute program1.sh in background and program2.sh in foreground . program1.sh holds the process ID of program2. program1.sh after a while needs to move the process of program2.sh to background. How? (0 Replies)
Discussion started by: avnerht
0 Replies

3. Shell Programming and Scripting

process in background

Hi Guys, I am facing some weird problem with my shell script. The script shows up a menu and for every ontion internally calls a shell script which start/stop various servers. When I am using '&' while calling the internal shell script so that the server run in the background. For exiting... (1 Reply)
Discussion started by: agoyal
1 Replies

4. Shell Programming and Scripting

background process

can anybody plz tell me how can i find the background processes running. (2 Replies)
Discussion started by: Raom
2 Replies

5. Shell Programming and Scripting

Help in background process

Hi, I have a main script(main.ksh) within which I have called another script(sub.ksh). The sub.ksh script is made to run in the background using '&'. The main.ksh script logs the information in a logfile main_ddmmyy and the sub.ksh script also logs the information in the log file sub_ddmmyy.... (5 Replies)
Discussion started by: chella
5 Replies

6. Shell Programming and Scripting

Background Process.

How to create a backgrond processes ? (5 Replies)
Discussion started by: anupdas
5 Replies

7. UNIX for Dummies Questions & Answers

Background Process

I need to submit a script that will continue to run after logging out and after a reboot or shutdown. I entered the following: nohup script & The script continues to run in the background after logging off the system but is killed after a reboot or shutdown. Any help would be greatly... (1 Reply)
Discussion started by: powwm
1 Replies

8. UNIX for Dummies Questions & Answers

Script to start background process and then kill process

What I need to learn is how to use a script that launches background processes, and then kills those processes as needed. The script successfully launches the script. But how do I check to see if the job exists before I kill it? I know my problem is mostly failure to understand parameter... (4 Replies)
Discussion started by: holocene
4 Replies

9. Shell Programming and Scripting

How to put FTP process as a background process/job in perl?

Hi, I am using net::ftp for transferring files now i am trying in the same Linux server as a result ftp is very fast but if the server is other location (remote) then the file transferred will be time consuming. So i want try putting FTP part as a background process. I am unaware how to do... (5 Replies)
Discussion started by: vanitham
5 Replies

10. Shell Programming and Scripting

Make background process interact with fg process

Hi, I have written a menu driven shell script in which as per the choice, I run the another script on background. For eg: 1. get info 2)process info 3)modify info All the operations have different scripts which i schedule in background using &. However I wish to display the error... (0 Replies)
Discussion started by: ashima jain
0 Replies
NOHUP(1)							   User Commands							  NOHUP(1)

NAME
nohup - run a command immune to hangups, with output to a non-tty SYNOPSIS
nohup COMMAND [ARG]... nohup OPTION DESCRIPTION
Run COMMAND, ignoring hangup signals. --help display this help and exit --version output version information and exit If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'. NOTE: your shell may have its own version of nohup, which usually supersedes the version described here. Please refer to your shell's doc- umentation for details about the options it supports. GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report nohup translation bugs to <http://translationproject.org/team/> AUTHOR
Written by Jim Meyering. COPYRIGHT
Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
The full documentation for nohup is maintained as a Texinfo manual. If the info and nohup programs are properly installed at your site, the command info coreutils 'nohup invocation' should give you access to the complete manual. GNU coreutils 8.22 June 2014 NOHUP(1)
All times are GMT -4. The time now is 01:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy