モジュールプロセス
現在のプロセスのリソースを管理するためのプロセス処理モジュール
参照方法:
1var process = require('process');
プロセスイベント
プロセスモジュールオブジェクトは EventEmitter たとえば、イベントリスナーを登録することで、プロセスレベルのイベントに応答できます。
beforeExitイベント
fibjsミッションが空で、追加の作業が追加されていない場合、イベントbeforeExit
がトリガーされます
1process.on('beforeExit', exitCode => {});
通常の状況では、タスクキューに追加の作業が追加されない場合、fibjsプロセスは終了します。ただし、beforeExit
コールバックリスナーイベントバインディングの場合、ファイバーを開くなどの新しいタスクを開始すると、fibjsプロセスは引き続き実行されます。
process.exitCodebeforeExit
コールバック関数イベントリスナーの値に渡される唯一のパラメーターとして。直接呼び出すなどの明示的な理由でプロセスが終了しようとしている場合process.exitまたは、キャッチされない例外をスローすると、beforeExit
イベントはトリガーされません。
終了イベント
fibjsが終了すると、exit
すべてのexit
イベントバインディングリスナーの実行が完了するとイベントがトリガーされ、プロセスが終了します
1process.on('exit', exitCode => {});
exit
イベントリスナーのコールバック関数には、入力パラメーターが1つだけあります。このパラメーターの値は次のようになります。 process.exitCode 属性値、または呼び出し process.exitメソッドがexitCode
値を渡したとき。
シグナルイベント
fibjsプロセスがシグナルを受信すると、シグナルイベントがトリガーされます。現在サポートされているシグナルはSIGINTとSIGTERMです。各イベント名は、シグナル名の大文字で表されます(たとえば、イベント「SIGINT」はシグナルSIGINTに対応します)。
シグナルイベントは他のプロセスイベントとは異なります。シグナルイベントはプリエンプトされます。シグナルが発生すると、現在のイベントに関係なく io操作、またはJavaScript操作は、対応するイベントをできるだけ早くトリガーします。たとえば、次のコードを使用して、現在のアプリケーションを中断し、実行ステータスを出力できます。
1
2
3
4
5
6var coroutine = require('coroutine');
process.on('SIGINT', () => {
coroutine.fibers.forEach(f => console.error("Fiber %d:\n%s", f.id, f.stack));
process.exit();
});
信号名とその意味は次のとおりです。
- SIGINT:ターミナルが実行されているときは、すべてのプラットフォームでサポートでき、通常はCTRL + Cでトリガーできます。
- SIGTERM:このシグナルは、プロセスが強制終了されたときにトリガーされます。Windowsではサポートされていません。
静的関数
umask
現在のumaskを変更します。Windowsはこの方法をサポートしていません
1static Integer process.umask(Integer mask);
呼び出しパラメーター:
- mask:整数、新しいマスクを指定します
戻り結果:
- Integer、前のマスクに戻る
現在のumaskを変更します。Windowsはこの方法をサポートしていません
1static Integer process.umask(String mask);
呼び出しパラメーター:
- mask:文字列、新しいマスクを指定、文字列タイプは8進数(例: "0664")
戻り結果:
- Integer、前のマスクに戻る
現在のumaskを返します。Windowsはこのメソッドをサポートしていません
1static Integer process.umask();
戻り結果:
- Integer、現在のマスク値を返します
hrtime
システムの高精度時刻を返します。この時刻は現在の時刻とは関係なく、高精度のタイミングにのみ使用されます。
1static Array process.hrtime(Array diff = []);
呼び出しパラメーター:
- diff:配列、比較の最初の時間
戻り結果:
- Array、タイミング時間を返します。形式は[秒、ナノ秒]です。
exit
現在のプロセスを終了し、プロセス結果としてexitCodeを返します
1static process.exit();
現在のプロセスを終了し、結果を返します
1static process.exit(Integer code);
呼び出しパラメーター:
- code:整数、プロセス結果を返します
cwd
オペレーティングシステムの現在の作業パスを返します
1static String process.cwd();
戻り結果:
- String、現在のシステムパスを返します
chdir
オペレーティングシステムの現在の作業パスを変更します
1static process.chdir(String directory);
呼び出しパラメーター:
- directory:文字列、設定する新しいパスを指定します
uptime
実行環境の実行時間を秒単位で照会します
1static Number process.uptime();
戻り結果:
- Number、時間を表す値を返します
cpuUsage
ユーザーコードとシステムコードで現在のプロセスに費やされた時間をクエリします。その値はマイクロ秒の値(100万分の1秒)です。
1static Object process.cpuUsage(Object previousValue = {});
呼び出しパラメーター:
- previousValue:オブジェクト、最後のクエリの時間を指定します
戻り結果:
- Object、時間を含むレポートを返す
メモリレポートは、次のような結果を生成します。
1
2
3
4{
"user": 132379,
"system": 50507
}
の:
- ユーザーは、プロセスに費やされた時間をユーザーコードで返します
- システムは、プロセスがシステムコードで費やした時間を返します
memoryUsage
現在のプロセスのメモリ使用量レポートを照会します
1static Object process.memoryUsage();
戻り結果:
- Object、リターンにはメモリレポートが含まれています
メモリレポートは、次のような結果を生成します。
1
2
3
4
5{
"rss": 8622080,
"heapTotal": 4083456,
"heapUsed": 1621800
}
の:
- rssは、プロセスが現在占有している物理メモリのサイズを返します
- heapTotalは、v8エンジンのヒープメモリサイズを返します
- heapUsedは、v8エンジンで使用されているヒープメモリのサイズを返します。
nextTick
ファイバーを開始します
1
2static process.nextTick(Function func,
...args);
呼び出しパラメーター:
- func:機能、ファイバーで実行する機能を指定します
- args:...、可変パラメータシーケンス、このシーケンスはファイバー内の関数に渡されます
binding
指定された名前の内部モジュールを取得します
1static Value process.binding(String name);
呼び出しパラメーター:
- name:文字列、照会する内部モジュールの名前を指定します
戻り結果:
- Value、指定された内部モジュールを返します
静的プロパティ
argv
配列、現在のプロセスのコマンドラインパラメータを返します
1static readonly Array process.argv;
execArgv
配列、現在のプロセスの特別なコマンドラインパラメータを返します。これらのパラメータは、動作環境を設定するためにfibjsによって使用されます。
1static readonly Array process.execArgv;
version
文字列、fibjsバージョン文字列を返します
1static readonly String process.version;
versions
オブジェクト、fibjsとコンポーネントのバージョン情報を返します
1static readonly Object process.versions;
execPath
文字列、現在実行中の実行ファイルのフルパスを照会します
1static readonly String process.execPath;
env
オブジェクト、現在のプロセスの環境変数を照会します
1static readonly Object process.env;
arch
文字列、現在のCPU環境を照会します。可能な結果は、「amd64」、「arm」、「arm64」、「ia32」です。
1static readonly String process.arch;
platform
文字列、現在のプラットフォーム名を照会します。可能な結果は「darwin」、「freebsd」、「linux」、または「win32」です。
1static readonly String process.platform;
pid
整数、現在のオブジェクトが指すプロセスのIDを読み取ります
1static readonly Integer process.pid;
ppid
整数、現在のオブジェクトが指す親プロセスのIDを読み取ります
1static readonly Integer process.ppid;
stdin
Stream、現在のプロセスの標準入力オブジェクトをクエリします。 tty の TTYInputStream、 さもないと Stream
1static readonly Stream process.stdin;
stdout
Stream、現在のプロセスの標準出力オブジェクトをクエリします。 tty の TTYOutputStream、 さもないと Stream
1static readonly Stream process.stdout;
stderr
Stream、現在のプロセスの標準エラー出力オブジェクトをクエリします。 tty の TTYOutputStream、 さもないと Stream
1static readonly Stream process.stderr;
exitCode
現在のプロセスの終了コードを整数、クエリ、および設定します
1static Integer process.exitCode;