Use FreeBSD-specific invocation of /bin/ps
authorMarcin Cieslak <saper@saper.info>
Thu, 23 Aug 2012 14:40:36 +0000 (16:40 +0200)
committerJon Trulson <jon@radscan.com>
Fri, 24 Aug 2012 01:56:31 +0000 (19:56 -0600)
cde/programs/dtlogin/config/_common.ksh.src
cde/programs/dtprintinfo/util/Process.C

index 90154a6abfbf587e317756e2c5d1759984ab7a62..b3b73eaa1c03ab60acf8862f4dee7cacece52114 100644 (file)
   pexec=$(LC_TIME=C ps -p $PPID | awk 'NR==2 {print $5}')
 #elif defined(USL) && (OSMAJORVERSION > 1)
   pexec=$(LC_TIME=C ps -p $PPID | awk 'NR==2 {print $6}')
-#elif defined(linux) || defined(CSRG_BASED)
+#elif defined(linux) || defined(CSRG_BASED) && !defined(__FreeBSD__)
   pexec=$(LC_TIME=C /bin/ps -p $PPID 2>/dev/null | awk 'NR==2 {print $4}')
+#elif defined(__FreeBSD__)
+  pexec=$(LC_TIME=C /bin/ps -o comm= -p $PPID 2>/dev/null)
 #else
   pexec=$(LC_TIME=C /usr/bin/ps -p $PPID | awk 'NR==2 {print $4}')
 #endif
index 9dc93ce0ae053d517c8f35188155c69984d73f37..51e91154590afb7a2d1e6e9e68aff8549b1d94ed 100644 (file)
@@ -38,6 +38,8 @@ Process::Process()
 {
 #ifdef aix
    (void)Invoke("ps -e -F \"pid ppid uid command\"", &procs);
+#elif defined(__FreeBSD__)
+   (void)Invoke("/bin/ps ax -o pid,ppid,uid,comm", &procs);
 #else
    (void)Invoke("/bin/ps -el | awk '{printf(\"%s %s %s %s\\n\",$4,$5,$3,$NF)}'",
                &procs);