[bug-notifications] [setoolkit 0004518]: global zone orcallator won't start if child zone orcallator already running

Mantis Bug Tracker noreply at opencsw.org
Tue Aug 10 23:13:27 CEST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://www.opencsw.org/mantis/view.php?id=4518 
====================================================================== 
Reported By:                hudesd
Assigned To:                
====================================================================== 
Project:                    setoolkit
Issue ID:                   4518
Category:                   regular use
Reproducibility:            always
Severity:                   block
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2010-08-10 21:00 CEST
Last Modified:              2010-08-10 23:13 CEST
====================================================================== 
Summary:                    global zone orcallator won't start if child zone
orcallator already running
Description: 
The global zone sees processes in all child zones as well as itself.
The start_orcallator script is using /usr/ucb/ps but that's not
appropriate for Solaris 10 it doesn't know about zones. Use /usr/bin/ps
with the -z flag and the value from zonename ("/usr/bin/ps -eafz
`zonename`) and you will only see current zone processes.

Here is another approach which looks for the orcallator.pid file:
# diff -u start_orcallator.csw start_orcallator
--- start_orcallator.csw        Wed Nov 25 07:04:57 2009
+++ start_orcallator    Wed Feb 10 16:45:01 2010
@@ -112,11 +112,14 @@
 export COMPRESSOR OUTDIR WEB_LOG WEB_SERVER WEB_SERVER_SECURE

 # Check if orcallator is already running.
-pids=`/usr/ucb/ps auxww | $AWK '/orcallator.se/ && !/awk/ {print $2}'`
-if test "$pids" != ""; then
+#pids=`/usr/ucb/ps auxww | $AWK '/orcallator.se/ && !/awk/ {print $2}'`
+if test -f $OUTDIR/orcallator.pid then
+       $pid=`cat $OUTDIR/orcallator.pid`
+if test `/usr/bin/ps -p $pid|wc -l` -gt 1 then
   echo "$0: orcallator already running." 1>&2
   exit 1
 fi
+fi

 # echo "Writing data into $OUTDIR/"
 if test "$WEB_LOG"; then

====================================================================== 

---------------------------------------------------------------------- 
 (0008192) hudesd (reporter) - 2010-08-10 23:13
 https://www.opencsw.org/mantis/view.php?id=4518#c8192 
---------------------------------------------------------------------- 
corrected patch:

# diff -wu start_orcallator.csw start_orcallator
--- start_orcallator.csw        Wed Nov 25 07:04:57 2009
+++ start_orcallator    Tue Aug 10 17:11:08 2010
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/bash

 # This script runs orcallator.se with the proper options for your site.

@@ -112,11 +112,14 @@
 export COMPRESSOR OUTDIR WEB_LOG WEB_SERVER WEB_SERVER_SECURE

 # Check if orcallator is already running.
-pids=`/usr/ucb/ps auxww | $AWK '/orcallator.se/ && !/awk/ {print $2}'`
-if test "$pids" != ""; then
+#pids=`/usr/ucb/ps auxww | $AWK '/orcallator.se/ && !/awk/ {print $2}'`
+if test -f $OUTDIR/orcallator.pid; then
+    $pid=`cat $OUTDIR/orcallator.pid`
+    if test `/usr/bin/ps -p $pid|wc -l` -gt 1; then
   echo "$0: orcallator already running." 1>&2
   exit 1
 fi
+fi

 # echo "Writing data into $OUTDIR/"
 if test "$WEB_LOG"; then



More information about the bug-notifications mailing list