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

モジュールプロセス

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

参照方法:

1
var process = require('process');

イベントの処理

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

beforeExitイベント

fibjsのタスクが空で、追加の作業が追加されていない場合、イベントbeforeExitがトリガーされます

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

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

process.exitCodeは、 beforeExitイベントリスナーのコールバック関数に唯一のパラメーター値として渡されます。 process.exit直接呼び出す、またはキャッチされない例外をスローするなどの明示的な理由でプロセスが終了しようとし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 :文字列、新しいマスクを指定、文字列タイプはオクタル(例: "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 :文字列、照会する内部モジュールのnameを指定します

戻り結果:

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

open

指定されたコマンドラインを実行し、プロセスの入力ストリームと出力ストリームを引き継ぎ、プロセスオブジェクトを返します

1 2 3
static SubProcess process.open(String command, Array args, Object opts = {});

呼び出しパラメーター:

  • command :文字列、実行するコマンドラインを指定します
  • args :配列、実行するパラメーターのリストを指定します
  • opts :オブジェクト、実行するオプションを指定します

戻り結果:

  • SubProcessは、実行結果を含むプロセスオブジェクトを返します

optsでサポートされているオプションは次のとおりです。

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

指定されたコマンドラインを実行し、プロセスの入力ストリームと出力ストリームを引き継ぎ、プロセスオブジェクトを返します

1 2
static SubProcess process.open(String command, Object opts = {});

呼び出しパラメーター:

  • command :文字列、実行するコマンドラインを指定します
  • opts :オブジェクト、実行するオプションを指定します

戻り結果:

  • SubProcessは、実行結果を含むプロセスオブジェクトを返します

optsでサポートされているオプションは次のとおりです。

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

start

指定されたコマンドラインを実行し、プロセスオブジェクトを返します

1 2 3
static SubProcess process.start(String command, Array args, Object opts = {});

呼び出しパラメーター:

  • command :文字列、実行するコマンドラインを指定します
  • args :配列、実行するパラメーターのリストを指定します
  • opts :オブジェクト、実行するオプションを指定します

戻り結果:

  • SubProcessは、実行結果を含むプロセスオブジェクトを返します

optsでサポートされているオプションは次のとおりです。

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

指定されたコマンドラインを実行し、プロセスオブジェクトを返します

1 2
static SubProcess process.start(String command, Object opts = {});

呼び出しパラメーター:

  • command :文字列、実行するコマンドラインを指定します
  • opts :オブジェクト、実行するオプションを指定します

戻り結果:

  • SubProcessは、実行結果を含むプロセスオブジェクトを返します

optsでサポートされているオプションは次のとおりです。

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

run

指定されたコマンドラインを実行し、プロセスの終了コードを返します

1 2 3
static Integer process.run(String command, Array args, Object opts = {}) async;

呼び出しパラメーター:

  • command :文字列、実行するコマンドラインを指定します
  • args :配列、実行するパラメーターのリストを指定します
  • opts :オブジェクト、実行するオプションを指定します

戻り結果:

  • Integer 、コマンドの結果を返します

optsでサポートされているオプションは次のとおりです。

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

指定されたコマンドラインを実行し、プロセスの終了コードを返します

1 2
static Integer process.run(String command, Object opts = {}) async;

呼び出しパラメーター:

  • command :文字列、実行するコマンドラインを指定します
  • opts :オブジェクト、実行するオプションを指定します

戻り結果:

  • Integer 、コマンドの結果を返します

optsでサポートされているオプションは次のとおりです。

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

静的プロパティ

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

File 、現在のプロセスの標準入力オブジェクトを照会します

1
static readonly File process.stdin;

stdout

File 、現在のプロセスの標準出力オブジェクトを照会します

1
static readonly File process.stdout;

stderr

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

1
static readonly File process.stderr;

exitCode

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

1
static Integer process.exitCode;