20 lines
575 B
Awk
20 lines
575 B
Awk
|
# Unmodified nawk prints the 16 bit exit status divided by 256, but
|
||
|
# does so using floating point arithmetic, yielding strange results.
|
||
|
#
|
||
|
# The fix is to use the various macros defined for wait(2) and to
|
||
|
# use the signal number + 256 for death by signal, or signal number + 512
|
||
|
# for death by signal with core dump.
|
||
|
|
||
|
BEGIN {
|
||
|
status = system("exit 42")
|
||
|
print "normal status", status
|
||
|
|
||
|
status = system("kill -HUP $$")
|
||
|
print "death by signal status", status
|
||
|
|
||
|
status = system("kill -ABRT $$")
|
||
|
print "death by signal with core dump status", status
|
||
|
|
||
|
system("rm -f core*")
|
||
|
}
|