1C 2C Copyright (c) 1980 The Regents of the University of California. 3C All rights reserved. 4C 5C %sccs.include.proprietary.f% 6C 7C @(#)fktst.f 5.2 (Berkeley) 04/12/91 8C 9 10 common/sig/whoami 11 character*6 whoami 12 integer fork, getpid, wait, tick 13 external trap 14 15 call signal(2, trap, -1) 16 call signal(3, trap, -1) 17 call signal(6, trap, -1) 18 call signal(8, trap, -1) 19 call signal(15, trap, -1) 20 21 tick = 1 22 id = fork() 23 if (id .eq. 0) then 24 whoami = "child" 25 write(*,*) "child:", getpid() 26 call flush(6) 27 10 call sleep(1) 28 write(*,'(1x,i2,$)') tick 29 call flush(6) 30 tick = tick + 1 31 goto 10 32 else 33 whoami = "parent" 34 call sleep(5) 35 write(*,*) "\nparent:", id 36 call flush(6) 37 istat = kill(id, 15) 38 write(*,*) "\nkill status:", istat 39 call flush(6) 40 iwait = wait(isw) 41 write(*,*) iwait, isw 42 endif 43 end 44 45 subroutine trap(num) 46 common/sig/whoami 47 character*6 whoami 48 write(*,*) "\ntrap:", whoami, num 49 stop 50 end 51