lin
2025-08-01 633231e833e21d5b8b1c00cb15aedb62b3b78e8f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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*")
}