From owner-freebsd-questions@FreeBSD.ORG Tue Dec 4 20:01:44 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8C1DAC74 for ; Tue, 4 Dec 2012 20:01:44 +0000 (UTC) (envelope-from martin@dc.cis.okstate.edu) Received: from x.it.okstate.edu (x.it.okstate.edu [139.78.2.13]) by mx1.freebsd.org (Postfix) with ESMTP id 567E88FC13 for ; Tue, 4 Dec 2012 20:01:44 +0000 (UTC) Received: from dc.cis.okstate.edu (localhost [127.0.0.1]) by x.it.okstate.edu (8.14.5/8.14.5) with ESMTP id qB4JdfGt085863 for ; Tue, 4 Dec 2012 13:39:41 -0600 (CST) (envelope-from martin@dc.cis.okstate.edu) Message-Id: <201212041939.qB4JdfGt085863@x.it.okstate.edu> To: freebsd-questions@freebsd.org Subject: Safe Way to Tell if Process is Running MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <85861.1354649981.1@dc.cis.okstate.edu> Date: Tue, 04 Dec 2012 13:39:41 -0600 From: Martin McCormick X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Dec 2012 20:01:44 -0000 About 20 years ago, I saw some code in which you verified whether or not a process was running by giving it a kill -0 command. If the process was running, nothing happened to it but your kill -0 command exited with a 0 status. If there was no process with that PID, the kill command exited non-zero. I use this in a system(command); in a C program I wrote some years ago and I think this is now causing a segmentation fault when the process number being signalled doesn't exist. Is there a better way to determine if process number 12345 is running without bothering it? None of the documentation on kill (1) shows a signal 0 nor does kill -l. Something tells me this is a bad idea these days, but I still need an easy way to see if XYZ process is still alive. Thank you. Martin McCormick WB5AGZ Stillwater, OK Systems Engineer OSU Information Technology Department Telecommunications Services Group