このnpmモジュールShelljsを見てください
ShellJS-Node.jsビルドステータス用のUnixシェルコマンド
ShellJSは、Node.js API上にUnixシェルコマンドを移植可能な(Windows / Linux / OS X)実装です。これを使用して、使い慣れた強力なコマンドを維持しながら、シェルスクリプトのUnixへの依存を排除できます。また、グローバルにインストールして、外部のNodeプロジェクトから実行できるようにすることもできます。これらの厄介なBashスクリプトに別れを告げてください。
ShellJSは多くの関連プロジェクトでテストされています
スクリプトを呼び出すことができるので、Tomcatのスクリプトを制御して開始およびシャットダウンし、実験を続けることができます:)
ShellJSには次のオプションがあります。
exec(コマンド[、オプション] [、コールバック])
使用可能なオプション(デフォルトではすべてfalse):
async: Asynchronous execution. Defaults to true if a callback is provided.
silent: Do not echo program output to console.
例:
var version = exec('node --version'、{silent:true})。output;
var child = exec('some_long_running_process'、{async:true}); child.stdout.on('data'、function(data){/*...データを使って何かをする...*/});
exec('some_long_running_process'、function(code、output){
console.log('終了コード:'、コード); console.log('プログラム出力:'、出力);});
特に指定がない限り、指定されたコマンドを同期的に実行します。同期モードの場合、プログラムの出力(stdout + stderr)とその終了コードを含むオブジェクト{code:...、output:...}を返します。それ以外の場合は、子プロセスオブジェクトを返し、コールバックは引数(コード、出力)を取得します。
注:存続期間の長いプロセスの場合、現在の同期実装は大量のCPUを使用するため、exec()を非同期で実行することをお勧めします。これはすぐに修正されるはずです。