10-18-2006
Normally, the return status is decoded by the "wait" macros - WIFEXITED etc.
A lot of them work in pairs - if WIFEXITED returns a non-zero, then you use WIFEXITSTATUS to determine the exit status.
The problem with bit shifting is that you can't always determine if the child exited due to a signal like SIGSEGV-- because a signal can look like a weird exit status. And your core dump can go unnoticed.
man waitpid
has a nice explanation of exit status - and usually #include <stdlib.h>
has those macros in support support of the system() call -- which stdlib declares.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
perl 5.6.1:
when i try a "system" command(with if loops for $?), i get this:
child exited with value 1
what is meant by this $? values and what does it meant if it returns 1?.. (0 Replies)
Discussion started by: sekar sundaram
0 Replies
2. Solaris
Hi Friends,
I am trying to execute rsh commands from Solaris 10 system to AIX system.
When I give;
Solaris10# rsh <hostname> ls -l , it gives me an error
rshd : 0826-826 The host name for your address is not known
At the same time,
Solaris10# rsh <hostname> ---- gives me remote shell of... (25 Replies)
Discussion started by: jumadhiya
25 Replies
3. Shell Programming and Scripting
hello All,
I need to invoke by perl script some program/command and monitor it for 5
minutes . In case it still running for more then 5 min I need to send a signal which will stop it.
I implemeted this as shown below by using eval & alarm
and I'd like to know if there is a better way to... (1 Reply)
Discussion started by: Alalush
1 Replies
4. Shell Programming and Scripting
In shell we can find the status of last executed command by $?
In perl what is the command to find the status of last executed command...
Can any one please say???????????????
Thanks,
Prabhu (1 Reply)
Discussion started by: prsampath
1 Replies
5. Shell Programming and Scripting
I have two scripts. script1.sh looks
--------------------------------
#!/bin/bash
display()
{
echo "Welcome to Unix"
}
display
-----------------------------
Script2.sh
#!/bin/bash
sh script1.sh //simply calling script1.sh
------------------------------ (1 Reply)
Discussion started by: mvictorvijayan
1 Replies
6. Shell Programming and Scripting
How to do I get the return code of a subroutine in a perl module if invoke the subroutine as standalone,
I have an module say TestExit.pm and in that i have a subroutine say myTest() which is returns 12, if i were to call the subroutine from
command line like
CASE:1 ( Without an explict... (2 Replies)
Discussion started by: ennstate
2 Replies
7. Shell Programming and Scripting
Hi
I would like to ask about my plan script
I have this several workstation want to monitor and execute a command without logging it we use "rsh $host "<command>" i create csh script using foreach to loop my several workstation, my problem with the rsh command is if it encounter a... (3 Replies)
Discussion started by: jao_madn
3 Replies
8. Programming
In gdb, I can call one function with command "call", but how can I step in the function? I don't want to restart the program, but the function had been executed, gdb will execute next statement, and I don't know how to recall the function. (4 Replies)
Discussion started by: 915086731
4 Replies
9. Shell Programming and Scripting
Not sure where the problem is. I can run the script without any issue using the following command.
. /opt/app/scripts/cdc_migration.sh
But it fails with the below error when I try it this way
/opt/app/scripts/cdc_migration.sh
/opt/app/scripts/cdc_migration.sh: line 65: return: can only... (1 Reply)
Discussion started by: svajhala
1 Replies
10. Shell Programming and Scripting
Hi All,
Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition.
#Body
function1()
{
if
then
echo "exist"
else
echo "not exist"
}
#if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies
LEARN ABOUT OPENSOLARIS
wait
wait.h(3HEAD) Headers wait.h(3HEAD)
NAME
wait.h, wait - wait status
SYNOPSIS
#include <sys/wait.h>
DESCRIPTION
When a process waits for status from its children using either the wait(3C) or waitpid(3C) function, the status returned can be evaluated
with the following macros, defined in <sys/wait.h>. These macros evaluate to integral expressions. The stat argument to these macros is the
integer value returned from wait() or waitpid().
WCOREDUMP(stat) If the value of WIFSIGNALED (stat) is non-zero, this macro evaluates to a non-zero value if a core image of the ter-
minated child was created.
WEXITSTATUS(stat) If the value of WIFEXITED(stat) is non-zero, this macro evaluates to the exit code that the child process passed to
_exit() (see exit(2)) or exit(3C), or the value that the child process returned from main.
WIFCONTINUED(stat) Evaluates to a non-zero value if status was returned for a child process that has continued.
WIFEXITED(stat) Evaluates to a non-zero value if status was returned for a child process that terminated normally.
WIFSIGNALED(stat) Evaluates to a non-zero value if status was returned for a child process that terminated due to the receipt of a sig-
nal.
WIFSTOPPED(stat) Evaluates to a non-zero value if status was returned for a child process that is currently stopped.
WSTOPSIG(stat) If the value of WIFSTOPPED(stat) is non-zero, this macro evaluates to the number of the signal that caused the child
process to stop.
WTERMSIG(stat) If the value of WIFSIGNALED(stat) is non-zero, this macro evaluates to the number of the signal that caused the ter-
mination of the child process.
The <sys/wait.h> header defines the symbolic constants listed below for use with waitpid(3C).
WNOHANG Do not hang if no status is available; return immediately.
WUNTRACED Report status of stopped child process.
The symbolic constants listed below are defined as possible values for the options argument to waitid(2).
WEXITED Wait for processes that have exited.
WSTOPPED Status is returned for any child that has stopped upon receipt of a signal.
WCONTINUED Status is returned for any child that was stopped and has been continued.
WNOHANG Return immediately if there are no children to wait for.
WNOWAIT Keep the process whose status is returned in infop in a waitable state.
The type idtype_t is defined as an enumeration type whose possible values include the following:
P_ALL
P_PID
P_PGID
The id_t and pid_t types are defined as described in <sys/types.h>.
The siginfo_t type is defined as described in <signal.h>.
The rusage structure is defined as described in <sys/resource.h>.
Inclusion of the <sys/wait.h> header can also make visible all symbols from <signal.h> and <sys/resource.h>.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO
exit(2), waitid(2), exit(3C), wait(3C), waitpid(3C),attributes(5), standards(5)
SunOS 5.11 10 Sep 2004 wait.h(3HEAD)