Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. // spawn a child process and execute shell command
  2. // author Hitesh Nagda
  3. // version: 0.1.0 (2013/02/01)
  4.  
  5.  
  6. // execute a single shell command where "cmd" is a string
  7. exports.exec = function (cmd, cb) {
  8. // this would be way easier on a shell/bash script :P
  9. var child_process = require('child_process');
  10. var parts = cmd.split(/\s+/g);
  11. var p = child_process.spawn(parts[0], parts.slice(1), { stdio: 'inherit' });
  12. p.on('exit', function (code) {
  13. var err = null;
  14. if (code) {
  15. err = new Error('command "' + cmd + '" exited with wrong status code "' + code + '"');
  16. err.code = code;
  17. err.cmd = cmd;
  18. }
  19. if (cb) cb(err);
  20. });
  21. };
  22.  
  23.  
  24. // execute multiple commands in series
  25. // this could be replaced by any flow control lib
  26. exports.series = function (cmds, cb) {
  27. var execNext = function () {
  28. exports.exec(cmds.shift(), function (err) {
  29. if (err) {
  30. cb(err);
  31. } else {
  32. if (cmds.length) execNext();
  33. else cb(null);
  34. }
  35. });
  36. };
  37. execNext();
  38. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement