• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: pipes, scripts, and launchd
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pipes, scripts, and launchd


  • Subject: Re: pipes, scripts, and launchd
  • From: Perry Smith <email@hidden>
  • Date: Fri, 28 Dec 2007 20:31:03 -0600

I've been dinking with Unix since '82 but I've never played with named pipes. I wrote a couple test scripts today and I think I can get that to work.

Another related question: I saw one example launchd.plist file that had two stanzas in it. Would that work?

(There seems to be a lot of mis-information about launchd files.)

Thank you for the suggestion,
pedz

On Dec 28, 2007, at 5:25 PM, Dave Zarzycki wrote:

I haven't tested this, but I suspect it should work...

Setup:

mkfifo /var/postgres_pipe

Job 1:

Have postgres write to /var/postgres_pipe via the launchd plist StandardOutPath and StandardErrorPath keys.

Job 2:

#!/bin/sh
exec rotatelogs < /var/postgres_pipe
# Note to self: It would have been nice if launchd supported a StandardInputPath configuration option




davez





On Dec 28, 2007, at 8:44 AM, Perry Smith wrote:

I may be making too big a deal of all this but I can't figure out how to do something like:

postgres <args> | rotatelogs <args>

from launchd. If I put that command in a simple bash shell script, I *believe* it will not work. The signal will go to bash and bash will not pass it along to the children.

I could trap the signal and pass it along myself... but, $! gives the pid for the last process in the pipe (rotatelogs). That is not what I need to signal. I need the signal passed to postgres. And, in fact, it would be nice if the signal did NOT pass to rotatelogs. I'd like for it to stop when its input closes and not before then.

I'm going to look in to using ksh and maybe using co-processes with ksh. bash does not seem to have that concept. But, it just seems like it should not be this hard to do.

Anyone have any suggestions of how to do this?

Thank you,
pedz

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@apple.com


This email sent to email@hidden



_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: pipes, scripts, and launchd
      • From: Dave Zarzycki <email@hidden>
References: 
 >pipes, scripts, and launchd (From: Perry Smith <email@hidden>)
 >Re: pipes, scripts, and launchd (From: Dave Zarzycki <email@hidden>)

  • Prev by Date: Re: pipes, scripts, and launchd
  • Next by Date: How can I get the maximum shared memory segment size in program?
  • Previous by thread: Re: pipes, scripts, and launchd
  • Next by thread: Re: pipes, scripts, and launchd
  • Index(es):
    • Date
    • Thread