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.