6 var fs = require('fs');
7 var path = require('path');
8 var exec = require('child_process').exec;
9 var util = require('util');
13 Mic.subprocess = function (processname, cb) {
14 var p = exec(processname);
15 p.on('exit', cb.exit);
16 p.stdout.on('data', cb.stdout || function (out) {
17 process.stdout.write(out);
19 p.stderr.on('data', cb.stderr || function (err) {
20 process.stdout.write(err);
24 Mic.create = function (paramObj, client) {
25 console.log('Mic.create called');
27 var stdoutPath = 'ws/fs/image/add/to';
28 var exitPath = 'ws/fs/image/add/finished';
29 var micProcess = 'sudo mic cr loop ' + paramObj.pathKsFile + util.format(' -A %s', 'x86_64') + util.format(' -o %s', paramObj.pathOutput);
31 function sendMsg(path, msg) {
32 client.emit(path, msg);
35 Mic.subprocess(micProcess, {
36 stdout: function (out) {
38 sendMsg(stdoutPath, out);
40 stderr: function (out) {
42 sendMsg(stdoutPath, out);
44 exit: function (out) {
46 sendMsg(exitPath, out);