Re: pipes, scripts, and launchd
Re: pipes, scripts, and launchd
- Subject: Re: pipes, scripts, and launchd
- From: Dave Zarzycki <email@hidden>
- Date: Fri, 28 Dec 2007 15:25:48 -0800
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:
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