[Mimedefang] calling external shell script without waiting for its end

Marcus Schopen lists at localguru.de
Mon Jan 2 17:14:56 EST 2017


Hi Dianne,

Thanks for your time.

Am Montag, den 02.01.2017, 15:45 -0500 schrieb Dianne Skoll:
> On Mon, 02 Jan 2017 19:26:44 +0100
> Marcus Schopen <lists at localguru.de> wrote:
> 
> > When calling an external bash script in filter_end like
> 
> >   system("/usr/local/bin/skript.sh $QueueID > /dev/null &");
> 
> I hope you trust the contents of $QueueID implicitly...

I use the QuarantineSubdir value, not QueueID, sorry for confusion. I
played with both of them.

> The MIMEDefang working directory gets deleted when the filter finishes.
> You most likely also want to be a little more careful with the standard
> file descriptors, so:
> 
> system("cd / && /usr/local/bin/skript.sh $QueueID < /dev/null > /dev/null 2>&1 &")

Ah, thanks!

> but more importantly... ask yourself what you need that for and whether it
> would be better to rewrite skript.sh in Perl and integrated it into
> your filter directly.

Okay, I understand. I found another way to trigger the external script
by iwatch just touch'ing a file from within mimedefang to a directory
which is watched by iwatch. This is quite fast and keeps the script
separate from mimedefang.

Ciao!
Marcus





More information about the MIMEDefang mailing list