Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!rice!uw-beaver!cornell!ken From: ken@CS.Cornell.EDU (Ken Birman) Newsgroups: comp.sys.isis Subject: Re: More on use of kill() to detect process failures Message-ID: <1991Jun28.132439.12920@cs.cornell.edu> Date: 28 Jun 91 13:24:39 GMT References: <1991Jun25.120346.21111@cs.cornell.edu> <2869F793.4F50@tct.com> Sender: news@cs.cornell.edu (USENET news user) Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Lines: 33 Nntp-Posting-Host: turing4.cs.cornell.edu In article <2869F793.4F50@tct.com> chip@tct.com (Chip Salzenberg) writes: >... on System V, you can kill with the pseudo-signal zero. >This feature provides a "process exists" test. This is really interesting! I would appreciate it if ISIS users could do the following and let me know if they get the "wrong" result % kill -0 12345 (any non-existent process id) On SUN OS I get "Non existent process id", which is just what I would hope for. If anyone gets "Bad signal number", let me know what type of UNIX system you are on. I feel a bit uncomfortable relying on a non-documented UNIX feature, but there are definite advantages to having a fall-back way to detect failure. I checked and on SUN OS, at least, the debugger never sees an interrupt when you use signal 0. In contrast, signal IO definitely causes debugger activity, and even if there is a way to tell gdb to ignore it, most ISIS users would find that pretty annoying. So, thanks for a great suggestion! (Also, thanks to Max Heffler and Compaq for contribuing their 386 version of ISIS -- I know this was a lot of work for them and I hope that ISIS users will find it valuable. The same version of ISIS should be fairly easy to move to the SCO UNIX, for those who prefer SCO to straight System V) -- Kenneth P. Birman E-mail: ken@cs.cornell.edu 4105 Upson Hall, Dept. of Computer Science TEL: 607 255-9199 (office) Cornell University Ithaca, NY 14853 (USA) FAX: 607 255-4428