[fpc-pascal] RE: Exec(), Linux, and /dev/null redirection
Zitt Zitterkopf
zittware at hotmail.com
Fri Feb 19 07:11:06 CET 2010
I wanted to thank you guys for you help with this and other problems I posted recently.
My project entered beta today... and I'm expecting it to be opensourced in the coming mth or so.
I ended up using the suggestion of using the fpsystem() call which seemed to work well except that it does not work if you do not have a bash shell installed in your environment. I worked around this by sym linking sh to bash to make it work under busybox; however, someone may want to look to see if the fpsystem call can be shell independant.
John
From: zittware at hotmail.com
To: fpc-pascal at lists.freepascal.org
Subject: Exec(), Linux, and /dev/null redirection
Date: Tue, 16 Feb 2010 16:34:08 -0800
I'm cross developing a program in free pascal running FreeVision. When running under Linux / Busybox; I'm attempting to mount a device to scan it for a set of files. Since I'm running a TUI (Text User Interface); I cannot have the BusyBox mount command printing failure information to the screen where it corrupts the TUI. The pascal code:
Exec( '/bin/mount', '/dev/'+ aline +' /media/' + aline + ' &> /dev/null');
When running:
Exec( '/bin/mount', '/dev/'+ aline +' /media/' + aline );
I see "device busy" STDERR messages appear on the screen. However, when I try to redirect using the ' &> /dev/null' it appears as tho the BusyBox executable is being passed ' &> /dev/null' as a parameter and isn't taking it as the appropriate redirection command.
I tried the following kludge instead:
var
OurPipe : Text;
popen( OurPipe, '/bin/mount /dev/'+ aline +' /media/' + aline, 'R');
Try
if (fpgeterrno=0) then Flush (OurPipe)
ELSE MessageBox ('mount pipe error ' + IntToStr(fpgeterrno), nil,
mfError or mfOKButton);
Finally
PClose( OurPipe );
END;
however, I'm getting an Accessviolation. unsure if I'm even going down the right path.
Any other suggestions?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20100218/f7ea3727/attachment.html>
More information about the fpc-pascal
mailing list