モジュールプロセス
現在のプロセスのリソースを管理するために使用されるプロセス処理モジュール
参考方法:
1var process = require('process');
イベントを処理する
プロセスモジュールオブジェクトはEventEmitterイベント リスナーを登録することにより、プロセス レベルのイベントに応答できる のインスタンス。
beforeExit イベント
イベント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
}
の:
- ユーザーは、プロセスがユーザー コードで費やした時間を返します
- system は、プロセスがシステム コードで費やした時間を返します
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、指定された内部モジュールを返します
getgid
現在のプロセスのグループ ID を照会します
1static Integer process.getgid();
戻り値:
- Integer、現在のプロセスのグループ ID を返します
getuid
現在のプロセスのユーザー ID を照会します
1static Integer process.getuid();
戻り値:
- Integer、現在のプロセスのユーザー ID を返します
setgid
現在のプロセスのグループ ID を設定します
1static process.setgid(Integer id);
呼び出しパラメーター:
- id: 整数、設定するグループ ID を指定します
setuid
現在のプロセスのユーザー ID を設定します
1static process.setuid(Integer id);
呼び出しパラメーター:
- id: 整数、設定するユーザーIDを指定
disconnect
親プロセスで ipc パイプを閉じる
1static process.disconnect();
send
親プロセスにメッセージを送る
1static process.send(Value msg);
呼び出しパラメーター:
- msg: 送信するメッセージを指定する値
静的プロパティ
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;
connected
Boolean、親プロセスとのパイプラインが正常に接続されているかどうかを問い合わせる
1static readonly Boolean process.connected;