[tor-commits] [arm/release] fix: fixing tor process detection for openbsd

atagar at torproject.org atagar at torproject.org
Sun Apr 29 04:00:58 UTC 2012

commit 84cd622e515c97d0c9b0d9779204155978926e9d
Author: Damian Johnson <atagar at torproject.org>
Date:   Fri Oct 7 09:18:14 2011 -0700

    fix: fixing tor process detection for openbsd
    OpenBSD uses a different variant of ps causing the tor process detection (among
    many other things) to fail. Caught thanks to a test system from Jordi Clofent.
 src/util/torTools.py |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/util/torTools.py b/src/util/torTools.py
index 8e2d6d5..34c9adc 100644
--- a/src/util/torTools.py
+++ b/src/util/torTools.py
@@ -352,6 +352,19 @@ def isTorRunning():
   # suggestions welcome for making this more reliable
   commandResults = sysTools.call("ps -A co command")
+  if not commandResults:
+    # OpenBSD uses a weird (and largely broken from the looks of it) version of
+    # ps. It lacks the -A argument and according to the man page -j, -l, and -u
+    # all do something similar but they fail.
+    #
+    # ucomm is defined in the man page as 'Alias: comm.  Name to be used for
+    # accounting.' The alias part is a lie (it works, but with an error
+    # message), though this seems to do what we want and prints the bare
+    # command.
+    commandResults = sysTools.call("ps -o ucomm=")
   if commandResults:
     for cmd in commandResults:
       if cmd.strip() == "tor": return True

More information about the tor-commits mailing list