NodeJS プログラムの終了コードを取得するにはどうすればよいですか?次の記事では、Node.js プログラムの終了コードと終了コードの列挙を取得する方法を紹介しますので、ご参考になれば幸いです。
実行中の NodeJS プログラムを終了するには、Ctrl C
または process.exit()
を使用して exit を実行します。 [推奨される調査: "nodejs チュートリアル "]
どちらの操作でも、プロセスを含む未完了の非同期操作がまだ保留中である場合でも、プロセスをできるだけ早く強制的に終了します。 .stdout
および process.stderr
の I/O 操作。
エラー状態により Node.js プロセスを終了する必要がある場合は、process.exit()## を呼び出すよりも、捕捉されないエラーをスローし、それに応じてプロセスを終了させる方が安全です。 # など:
import process from 'process'; // 如何正确设置退出码,同时让进程正常退出。 if (someConditionNotMet()) { printUsageToStdout(); process.exitCode = 1; }
Worker スレッドでは、この関数は現在のプロセスではなく現在のスレッドを停止します。
const fork = require("child_process").fork; console.log("main ", process.argv); const fs = require("fs"); const fd = fs.openSync("./a.log", "a"); const child = fork("./index.js", { stdio: ["ipc", "pipe", fd] }); child.on("error", (error) => { let info = `child process error ${error}`; fs.writeSync(fd, info); console.log(info); }); child.on("exit", (code) => { let info = `child process exited with code ${code}`; fs.writeSync(fd, info); console.log(info); });
const fork = require('child_process').fork; console.log('main ',process.argv); const fs=require('fs'); const fd = fs.openSync('./a.log','a'); // 子程序参数 let args = []; args[0] = 'test'; const child = fork('./index.js',args,{ stdio:['ipc','pipe',fd] }); child.on('error', (error) => { let info = `child process error ${error}`; fs.writeSync(fd,info); console.log(info); }); child.on('exit', (code) => { let info = `child process exited with code ${code}`; fs.writeSync(fd,info); console.log(info); });
0ステータスコードで終了します。それ以外の場合は、次のステータス コードを使用します。
Uncaught Fatal Exception: キャッチされない例外が存在し、ドメインまたは # # によってカバーされていません。 #'uncaughtException' イベント ハンドラーの処理。
内部 JavaScript 解析エラー
: 内部NodeJS ブートストラップ中の JavaScript ソース コードにより解析エラーが発生します。これは非常にまれで、通常は NodeJS 自体の開発中にのみ発生します。
内部 JavaScript 評価に失敗しました
: NodeJS ブートストラップ中の内部 JavaScript ソース コードは、評価時に関数値を返すことができませんでした。これは非常にまれで、通常は NodeJS 自体の開発中にのみ発生します。
致命的エラー
: V8 には回復不可能な致命的エラーが存在します。通常、FATAL ERROR というプレフィックスが付いたメッセージが標準エラーに出力されます。
非関数の内部例外ハンドラー
: キャッチされない例外がありますが、内部の致命的な例外ハンドラーが何らかの理由で非関数に設定されているため、処理できません。と呼ばれた。
内部例外ハンドラーの実行時エラー
: 捕捉されなかった例外が存在し、それを処理しようとしたときに内部致命的例外ハンドラー関数自体がエラーをスローしました。これは、たとえば、'uncaughtException' または domain.on('error')
ハンドルがエラーをスローした場合に発生します。
無効なパラメータ
: 不明なオプションが指定されたか、値が必要なオプションが値なしで指定されました。
内部 JavaScript ランタイム エラー
: NodeJS ブートストラップ中の内部 JavaScript ソース コードは、ブートストラップ関数の呼び出し時にエラーをスローします。これは非常にまれで、通常は NodeJS 自体の開発中にのみ発生します。
無効なデバッグ パラメータ
: --inspect および/または --inspect-brk
オプションが設定されています。しかし、選択されたポート番号は無効であるか、使用できません。
未完了のトップレベル await
: await はトップレベル コードの関数の外で使用されていますが、Promise は渡されましたで
解決されませんでした。
シグナル終了
: NodeJS が SIGKILL や SIGHUP
などの致命的なシグナルを受信した場合、終了コードは 128
に信号コードの値を加えたものになります。終了コードは 7 ビット整数として定義され、信号出口には上位ビットが設定されてから信号コードの値が含まれるため、これは標準的な POSIX の慣例です。たとえば、信号 SIGABRT
の値は 6
であるため、予期される終了コードは 128
6
または 134# になります。 ## 。
概要プログラミング ビデオ
をご覧ください。 !以上がNodeJS でプログラムの終了コードを取得する方法についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。