Hi,
my scenario is this: From my node application I am spawning another
program. I want this spawned programs output piped to a file, so I pass a
file descriptor through the options.stdio array:
var stdOutFd = fs.openSync("stdout.txt", 'w+');
var result = cw.spawn("myprogram.exe", [], { stdio: ['ignore', stdOutFd,
'ignore']});
This works nice. Once my program has finished, I can see the output in my
stdout.txt.
Now, this is nice for short running programs, but if myprogram.exe runs
over a minute I would like to show constant output while the program is
running and not only at the end. So here is my question: Is it safe to
re-use the stdOutFd from my main application and periodically read it for
output? Something like:
var stdOutFd = fs.openSync("stdout.txt", 'w+');
var result = cw.spawn("myprogram.exe", [], { stdio: ['ignore', stdOutFd,
'ignore']});
function readOutPut() {
var buffer = ...
var bytesRead = fs.readSync(stdOutFd, buffer...)
console.log(buffer.toString());
setTimeout(readOutPut, 1000); // Poll every second
}
readOutPut();
I should say that this code executes fine on Windows. I would like to hear
back from someone that has more experience if this is fragile code. An
alternative would be to open the file a second time for reading (using "r"
as mode since I only want to read), but I am not sure if that is actually
needed.
The reason I am worried is that I am not sure how this code would behave
under different filesystems. Especially I am uncertain if using a UNC share
would make a difference.
Thanks,
Ben
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.