モジュール基本モジュール

モジュールプロセス

現在のプロセスのリソースを管理するためのプロセス処理モジュール

参照方法:

1
var process = require('process');

イベントの処理

プロセスモジュールオブジェクトは EventEmitter たとえば、イベントリスナーを登録することで、プロセスレベルのイベントに応答できます。

beforeExitイベント

fibjsミッションが空で、追加の作業が追加されていない場合、イベントbeforeExitがトリガーされます

1
process.on('beforeExit', exitCode => {});

通常の状況では、タスクキューに追加の作業が追加されない場合、fibjsプロセスは終了します。ただし、beforeExitコールバックリスナーイベントバインディングの場合、ファイバーを開くなどの新しいタスクを開始すると、fibjsプロセスは引き続き実行されます。

process.exitCodebeforeExitコールバック関数イベントリスナーの値に渡される唯一のパラメーターとして直接呼び出すなどの明示的な理由でプロセスが終了しようとしている場合process.exitまたは、キャッチされない例外をスローすると、beforeExitイベントはトリガーされません。

終了イベント

fibjsが終了すると、exitすべてのexitイベントバインディングリスナーの実行が完了するとイベントがトリガーされ、プロセスが終了します

1
process.on('exit', exitCode => {});

exit イベントリスナーのコールバック関数には、入力パラメーターが1つだけあります。このパラメーターの値は次のようになります。 process.exitCode 属性値、または呼び出し process.exitメソッドがexitCode値を渡したとき

シグナルイベント

fibjsプロセスがシグナルを受信すると、シグナルイベントがトリガーされます。現在サポートされているシグナルはSIGINTとSIGTERMです。各イベント名は、シグナル名の大文字で表されます(たとえば、イベント「SIGINT」はシグナルSIGINTに対応します)。

シグナルイベントは他のプロセスイベントとは異なります。シグナルイベントはプリエンプトされます。シグナルが発生すると、現在のイベントに関係なく io操作、またはJavaScript操作は、対応するイベントをできるだけ早くトリガーします。たとえば、次のコードを使用して、現在のアプリケーションを中断し、実行ステータスを出力できます。

1 2 3 4 5 6
var 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はこの方法をサポートしていません

1
static Integer process.umask(Integer mask);

呼び出しパラメーター:

  • mask:整数、新しいマスクを指定

戻り結果:

  • Integer、前のマスクに戻る

現在のumaskを変更します。Windowsはこの方法をサポートしていません

1
static Integer process.umask(String mask);

呼び出しパラメーター:

  • mask:文字列、新しいマスクを指定、文字列タイプは8進数(例: "0664")

戻り結果:

  • Integer、前のマスクに戻る

現在のumaskを返します。Windowsはこのメソッドをサポートしていません

1
static Integer process.umask();

戻り結果:

  • Integer、現在のマスク値を返します

hrtime

システムの高精度時刻を返します。この時刻は現在の時刻とは関係なく、高精度のタイミングにのみ使用されます。

1
static Array process.hrtime(Array diff = []);

呼び出しパラメーター:

  • diff:配列、比較の最初の時間

戻り結果:

  • Array、タイミング時間を返します。形式は[秒、ナノ秒]です。

exit

現在のプロセスを終了し、プロセス結果としてexitCodeを返します

1
static process.exit();

現在のプロセスを終了し、結果を返します

1
static process.exit(Integer code);

呼び出しパラメーター:

  • code:整数、プロセス結果を返します

cwd

オペレーティングシステムの現在の作業パスを返します

1
static String process.cwd();

戻り結果:

  • String、現在のシステムパスを返します

chdir

オペレーティングシステムの現在の作業パスを変更します

1
static process.chdir(String directory);

呼び出しパラメーター:

  • directory:文字列、設定する新しいパスを指定します

uptime

実行環境の実行時間を秒単位で照会します

1
static Number process.uptime();

戻り結果:

  • Number、時間を表す値を返します

memoryUsage

現在のプロセスのメモリ使用量レポートをクエリします

1
static Object process.memoryUsage();

戻り結果:

  • Object、リターンにはメモリレポートが含まれています

メモリレポートは、次のような結果を生成します。

1 2 3 4 5
{ "rss": 8622080, "heapTotal": 4083456, "heapUsed": 1621800 }

その中で:

  • rssは、プロセスが現在占有している物理メモリのサイズを返します
  • heapTotalは、v8エンジンのヒープメモリサイズを返します
  • heapUsedは、v8エンジンで使用されているヒープメモリのサイズを返します。

nextTick

ファイバーを開始します

1 2
static process.nextTick(Function func, ...args);

呼び出しパラメーター:

  • func:機能、ファイバーで実行する機能を指定します
  • args:...、可変パラメータシーケンス、このシーケンスはファイバー内の関数に渡されます

binding

指定された名前の内部モジュールを取得します

1
static Value process.binding(String name);

呼び出しパラメーター:

  • name:文字列、照会する内部モジュールの名前を指定します

戻り結果:

  • Value、指定された内部モジュールを返します

静的プロパティ

argv

配列、現在のプロセスのコマンドラインパラメータを返します

1
static readonly Array process.argv;

execArgv

配列、現在のプロセスの特別なコマンドラインパラメータを返します。これらのパラメータは、動作環境を設定するためにfibjsによって使用されます。

1
static readonly Array process.execArgv;

version

文字列、fibjsバージョン文字列を返します

1
static readonly String process.version;

versions

オブジェクト、fibjsとコンポーネントのバージョン情報を返します

1
static readonly Object process.versions;

execPath

文字列、現在実行中の実行ファイルのフルパスを照会します

1
static readonly String process.execPath;

env

オブジェクト、現在のプロセスの環境変数を照会します

1
static readonly Object process.env;

arch

文字列、現在のCPU環境を照会します。可能な結果は、「amd64」、「arm」、「arm64」、「ia32」です。

1
static readonly String process.arch;

platform

文字列、現在のプラットフォーム名を照会します。可能な結果は「darwin」、「freebsd」、「linux」、または「win32」です。

1
static readonly String process.platform;

pid

整数、現在のオブジェクトが指すプロセスのIDを読み取ります

1
static readonly Integer process.pid;

ppid

整数、現在のオブジェクトが指す親プロセスのIDを読み取ります

1
static readonly Integer process.ppid;

stdin

Stream、現在のプロセスの標準入力オブジェクトをクエリします

1
static readonly Stream process.stdin;

stdout

Stream、現在のプロセスの標準出力オブジェクトをクエリします

1
static readonly Stream process.stdout;

stderr

Stream、現在のプロセスの標準エラー出力オブジェクトをクエリします

1
static readonly Stream process.stderr;

exitCode

現在のプロセスの終了コードを整数、クエリ、および設定します

1
static Integer process.exitCode;