05-01-2009
Unable to execute a function using trap
I have a script A which calls script B. I wrote a function in script A to be executed when Kill command is issued for script A and I invoke that function using the trap command.The function identifies all child process running under script A (in this case script B) and kills the child process and performs some operation lets say it updates database tables and log files.
when i execute the "kill -15 script_A_pid" the function that i wrote in script A does not run. I think its because script B (child process) is running.
When i provide kill -15 script_b_pid then child process is terminated and the function that i wrote in script A gets executed.
I would like to know how to execute the function that i wrote in my script Aeven when my script B is running. I want to allways kill script A which should take care of killing script B.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
this is (11 Replies)
Discussion started by: angelina
11 Replies
2. Shell Programming and Scripting
I am unable to execute the below command in background. Plz suggest.
#> ./test input >out &
913618
+ Stopped (SIGTTIN) ./test input >out &
Suresh (1 Reply)
Discussion started by: suresh3566
1 Replies
3. Shell Programming and Scripting
This is probably a failure in my understanding of trap or of function invocation. I'd really appreciate if someone could explain. This is Solaris 10, but I don't think it matters.
#!/usr/bin/ksh
trap 'cleanUp $@' exit
function cleanUp
{
print "I got called"
}
function check
{
... (4 Replies)
Discussion started by: plavacek
4 Replies
4. Shell Programming and Scripting
In my Bash script I have an exit/cleanup function in a trap statement like:
trap exitCleanup 1 2 3 6 15 25
Is there anyway to capture which signal # has occurred to record in a log file. Please note I am trying to avoid something like:
trap 'mySignal=1; exitCleanup' 1
trap... (1 Reply)
Discussion started by: ckmehta
1 Replies
5. AIX
Hello,
On Aix 5.3, during importvg, the varyonvg fails:
importvg -y vgtest hdisk20
0516-013 varyonvg: The volume group cannot be varied on because
there are no good copies of the descriptor area.
When i use manually the command varyonvg -u -b -t vgtest to force, the vg can... (3 Replies)
Discussion started by: dantares
3 Replies
6. UNIX for Dummies Questions & Answers
Hi everyone.
I wanted to print numbers from 1 to 5 in reverse order. For this I used the following code:
#!/bin/bash
x=5
while
do
echo $x
x=`expr $x - 1`
echo ""
done
echo ""
Well but on compiling the above code, it gives the following error.
... (3 Replies)
Discussion started by: grc
3 Replies
7. Solaris
Hello everyone,
I'm having a problem with a file. I can run any command on it : cp, mv, chmod,ln,more...
Thanks for your help (13 Replies)
Discussion started by: adilyos
13 Replies
8. AIX
Hi Friends,
I am not able to execute snap -a command in AIX 6 system. Could you please let me know how to make work this command and Path to be set.
Thanks in Advance
Siva. (4 Replies)
Discussion started by: sivakumarl
4 Replies
9. Shell Programming and Scripting
Hi
I am writing a script to get the CPU and memory utilization periodically from glance command.
Wrote a script which consists of below two lines
Script name : Utilization.sh
#!/bin/sh
glance -iterations 1 | sed -n '/Util/p/'| awk '!/Disk/'| awk '!/Swap/' >> file.txt
I am able to run the... (5 Replies)
Discussion started by: Shravani
5 Replies
10. UNIX for Advanced & Expert Users
Hi,
I was working on implementing error handling in my bash scripts, and decided to use trap to send myself an email incase of any errors. But it seems that somethings has gone wrong, and I am continuously getting same emails for an old error repeatedly (even though I have stopped/killed all... (1 Reply)
Discussion started by: cool.aquarian
1 Replies
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)