On Jul 25, 2016, at 12:38 AM, Ruchit Kadakia wrote:
> var cmd=require('node-cmd');
>
> exports.list = function(req, res){
>
> cmd.get(
>
> 'cd /usr/local/cellar/apache-flume-1.6.0-bin ; // works well
>
> bin/flume-ng agent –conf ./conf/ -f conf/flume.conf
> -Dflume.root.logger=DEBUG,console -n TwitterAgent; // doesn't work. This
> command is for loading twitter data into hdfs using apache flume.
>
> touch hello.txt', //works well.
>
> function(data){
>
> console.log('the current working dir is : ',data);
>
> }
>
> );
>
> console.log('big data');
>
>
>
> };
Well, why doesn't it work?
Programs that fail typically print error messages that say what went wrong.
Error messages are typically printed on stderr. The node-cmd module you're
using appears to only give you a way to access stdout, not stderr, so you may
want to reconsider using node-cmd and use something else. But for now, you
might be able to redirect stdout to stderr by using "2>&1", i.e.:
cmd.get(
'cd /usr/local/cellar/apache-flume-1.6.0-bin &&
bin/flume-ng agent –conf ./conf/ -f conf/flume.conf
-Dflume.root.logger=DEBUG,console -n TwitterAgent 2>&1 &&
touch hello.txt',
function (data) {
console.log(data);
}
);
I also replaced your ";" command joiner with "&&". ";" proceeds to the next
command even if the preceding command failed, which is not usually what one
wants; "&&" exits on the first error.
Actually the node-cmd documentation suggests one does not need any command
joiner if one puts the commands on separate lines. I'm not sure what method of
command joining it uses in that case.
Your "touch hello.txt" is unlikely to succeed, since it would be created in the
/usr/local/cellar/apache-flume-1.6.0-bin directory, which you probably don't
want and probably don't have permission to do.
--
Job board: http://jobs.nodejs.org/
New group rules:
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules:
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/nodejs/E45C4880-BE4D-4EF5-9A64-674522319D24%40ryandesign.com.
For more options, visit https://groups.google.com/d/optout.