From owner-freebsd-questions Wed Feb 20 19:10: 8 2002 Delivered-To: freebsd-questions@freebsd.org Received: from femail11.sdc1.sfba.home.com (femail11.sdc1.sfba.home.com [24.0.95.107]) by hub.freebsd.org (Postfix) with ESMTP id EEC1537B402 for ; Wed, 20 Feb 2002 19:09:58 -0800 (PST) Received: from there ([68.82.36.167]) by femail11.sdc1.sfba.home.com (InterMail vM.4.01.03.20 201-229-121-120-20010223) with SMTP id <20020221030958.QQRM18863.femail11.sdc1.sfba.home.com@there> for ; Wed, 20 Feb 2002 19:09:58 -0800 Content-Type: text/plain; charset="iso-8859-1" From: Eric I.Arnoth Reply-To: earnoth@comcast.net To: freebsd-questions@freebsd.org Subject: syslog.conf problems Date: Wed, 20 Feb 2002 22:07:17 -0500 X-Mailer: KMail [version 1.3] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <20020221030958.QQRM18863.femail11.sdc1.sfba.home.com@there> Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG If anyone replies to my message, please be sure to keep my email on the CC or TO fields, I do not subscribe to this list. I've been trying to get a script which will take the output from syslog and handle it, but I can't get past the hello world stage. I've tried a bourne shell script and a python script (which is the language I want to write the end-result in). With the bourne shell script, I get countless error messages like the following, with decrementing subprocess IDs: ----------------------------------------------------- Feb 20 21:39:10 systemname syslogd: Logging subprocess 1894 (exec /hello_log.sh) exited with status 126. Feb 20 21:39:10 systemname syslogd: exec /hello_log.sh: Broken pipe ----------------------------------------------------- Here's the bournshell script hello_log.sh: ----------------------------------------------------- #!/bin/sh read line echo "$line" >> /test.out ----------------------------------------------------- With the Python script, I only get output after I HUP the syslogd process. I get all the output I should, but I want it processed real-time by a run-once-and-die script. Here's a few variations of the python script I've tried: ----------------------------------------------------- #!/usr/local/bin/python import sys test_file = open("/test.out", 'a') test_file.write(sys.__stdin__.read()) test_file.flush() test_file.close() sys.exit() ----------------------------------------------------- #!/usr/local/bin/python import sys test_file = open("/test.out", 'a') for char in sys.__stdin__.read(): test_file.write(char) test_file.flush() test_file.close() sys.exit() ----------------------------------------------------- #!/usr/local/bin/python import sys test_file = open("/test.out", 'a') for char in sys.__stdin__.read(): if char=='\012': test_file.write(char) test_file.flush() test_file.close() sys.exit() else: test_file.write(char) test_file.flush() test_file.close() sys.exit() ----------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message