Work on child processes with node.js
This commit is contained in:
@@ -868,19 +868,112 @@ exports.run_osascript = async function ({cmd=null, interactive=false, language=n
|
|||||||
|
|
||||||
// Run raw command
|
// Run raw command
|
||||||
// Updated 2022-05-07
|
// Updated 2022-05-07
|
||||||
exports.run_cmd = async function ({cmd=null}) {
|
exports.run_cmd = async function ({cmd=null, return_stdout=null, return_stdin=null, sync=null}) {
|
||||||
console.log('*** Electron framework export: run_cmd() ***');
|
console.log('*** Electron framework export: run_cmd() ***');
|
||||||
|
|
||||||
console.log(`Command String: ${cmd}`);
|
console.log(`Command String: ${cmd}`);
|
||||||
|
|
||||||
child_process.exec(cmd, (err, stdout, stdin) => {
|
let result;
|
||||||
if (err) throw err;
|
|
||||||
console.log(stdout);
|
|
||||||
console.log(stdin);
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log('Finished');
|
if (!sync) {
|
||||||
return true;
|
result = child_process.exec(cmd, (err, stdout, stdin) => {
|
||||||
|
// if (err) throw err;
|
||||||
|
if (err) {
|
||||||
|
console.log('Error:', err);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log('stdout:', stdout);
|
||||||
|
// console.log('stdin:', stdin);
|
||||||
|
|
||||||
|
if (return_stdout) {
|
||||||
|
console.log('Finished and returning stdout');
|
||||||
|
return stdout;
|
||||||
|
} else {
|
||||||
|
console.log('Finished and returning true');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
result = child_process.execSync(cmd, (err, stdout, stdin) => {
|
||||||
|
// if (err) throw err;
|
||||||
|
if (err) {
|
||||||
|
console.log('Error:', err);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log('stdout:', stdout);
|
||||||
|
// console.log('stdin:', stdin);
|
||||||
|
|
||||||
|
if (return_stdout) {
|
||||||
|
console.log('Finished and returning stdout');
|
||||||
|
return stdout;
|
||||||
|
} else {
|
||||||
|
console.log('Finished and returning true');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('Result:', result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Run raw command sync
|
||||||
|
// Updated 2022-05-07
|
||||||
|
exports.run_cmd_sync = function ({cmd=null, return_stdout=null, return_stdin=null}) {
|
||||||
|
console.log('*** Electron framework export: run_cmd() ***');
|
||||||
|
|
||||||
|
console.log(`Command String: ${cmd}`);
|
||||||
|
|
||||||
|
let stdout;
|
||||||
|
|
||||||
|
try {
|
||||||
|
stdout = child_process.execSync(cmd, {encoding: 'utf8'});
|
||||||
|
console.log('Std Out:', stdout);
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Error:', err);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (return_stdout) {
|
||||||
|
console.log('Finished and returning stdout');
|
||||||
|
return stdout;
|
||||||
|
} else {
|
||||||
|
console.log('Finished and returning true');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// let result;
|
||||||
|
// let stdout;
|
||||||
|
// let stderr;
|
||||||
|
// try {
|
||||||
|
// let { stdout, stderr } = child_process.execSync(cmd, (err, stdout, stdin) => {
|
||||||
|
// // if (err) throw err;
|
||||||
|
// if (err) {
|
||||||
|
// console.log('Error:', err);
|
||||||
|
// return false;
|
||||||
|
// };
|
||||||
|
|
||||||
|
// console.log('stdout:', stdout);
|
||||||
|
// // console.log('stdin:', stdin);
|
||||||
|
|
||||||
|
// if (return_stdout) {
|
||||||
|
// console.log('Finished and returning stdout');
|
||||||
|
// return stdout;
|
||||||
|
// } else {
|
||||||
|
// console.log('Finished and returning true');
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// } catch (err) {
|
||||||
|
// console.error(err);
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// console.log('Result:', result);
|
||||||
|
// return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user