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

モジュールプロセス

プロセス処理モジュール。現在のプロセスのリソースを管理するために使用されます。

参考方法:

1
var process = require('process');

プロセスイベント

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

beforeExitイベント

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

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

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

process.exitCode唯一のパラメータ値としてbeforeExitイベント リスナーのコールバック関数に渡されます。直接呼び出しなどの明示的な理由でプロセスが終了しようとしている場合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、現在のシステムパスを返します

dlopen

C++ アドオンを動的にロードする

1 2 3
static process.dlopen(Object module, String filename, Integer flags = 1);

呼び出しパラメータ:

  • module: オブジェクト、ロードするモジュールを指定します
  • filename: 文字列、ロードするモジュールファイル名を指定します
  • flags: 整数。モジュールのロード方法を指定します。デフォルトは 1 です。

chdir

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

1
static process.chdir(String directory);

呼び出しパラメータ:

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

uptime

実行環境の実行時間を秒単位でクエリします。

1
static Number process.uptime();

返される結果:

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

cpuUsage

ユーザーおよびシステム コードで現在のプロセスに費やされた時間をクエリします。値はマイクロ秒値 (100 万分の 1 秒) です。

1
static Object process.cpuUsage(Object previousValue = {});

呼び出しパラメータ:

  • previousValue: オブジェクト。最後のクエリの時刻を指定します。

返される結果:

  • Object、時間を含むレポートを返します。

メモリ レポートでは、次のような結果が生成されます。

1 2 3 4
{ "user": 132379, "system": 50507 }

その中で:

  • ユーザーはプロセスがユーザーコードに費やした時間を返します
  • システムはプロセスがシステムコードに費やした時間を返します

memoryUsage

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

1
static Object process.memoryUsage();

返される結果:

  • Object、メモリを含むレポートを返します。

メモリ レポートでは、次のような結果が生成されます。

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

その中で:

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

nextTick

ファイバーを始める

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

呼び出しパラメータ:

  • func: 関数、ファイバーによって実行される関数を指定します
  • args: ...、ファイバー内の関数に渡される引数の可変長シーケンス

binding

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

1
static Value process.binding(String name);

呼び出しパラメータ:

  • name: 文字列。クエリする内部モジュール名を指定します。

返される結果:

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

getgid

現在のプロセスのグループ ID を照会します。

1
static Integer process.getgid();

返される結果:

  • Integer、現在のプロセスのグループ ID を返します。

getuid

現在のプロセスのユーザー ID を照会します。

1
static Integer process.getuid();

返される結果:

  • Integer、現在のプロセスのユーザー ID を返します。

setgid

現在のプロセスのグループIDを設定します

1
static process.setgid(Integer id);

呼び出しパラメータ:

  • id: 整数、設定するグループIDを指定します

setuid

現在のプロセスのユーザー ID を設定します

1
static process.setuid(Integer id);

呼び出しパラメータ:

  • id: 整数、設定するユーザーIDを指定します

emitWarning

カスタムまたはアプリケーション固有のプロセス警告を発行します。これらのイベントは、「警告」イベントにハンドラーを追加することでリッスンできます。

1 2
static process.emitWarning(Value warning, Object options);

呼び出しパラメータ:

  • warning: 値。発行する警告を指定します。
  • オプション: オブジェクト、警告を指定するオプション

    オプションには次のものが含まれます。

1 2 3 4 5
{ "type": "Warning", // specifies the name of the type of warning issued. Default value: 'Warning' "code": "", // specify the unique identifier of the warning instance issued "detail": "" // specify additional text for warnings }

それの使い方:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
const { emitWarning } = require('process'); // Emit a warning with a code and additional detail. emitWarning('Something happened!', { code: 'MY_WARNING', detail: 'This is some additional information', }); process.on('warning', (warning) => { console.warn(warning.name); // 'Warning' console.warn(warning.message); // 'Something happened!' console.warn(warning.code); // 'MY_WARNING' console.warn(warning.stack); // Stack trace console.warn(warning.detail); // 'This is some additional information' });

カスタムまたはアプリケーション固有のプロセス警告を発行します。これらのイベントは、「警告」イベントにハンドラーを追加することでリッスンできます。

1 2 3
static process.emitWarning(Value warning, String type = "Warning", String code = "");

呼び出しパラメータ:

  • warning: 値。発行する警告を指定します。
  • type: 文字列。発行する警告の種類の名前を指定します。デフォルト: 「警告」
  • code: 文字列。発行された警告インスタンスの一意の識別子を指定します。

disconnect

親プロセスへの ipc パイプを閉じます。

1
static process.disconnect();

send

親プロセスにメッセージを送信する

1
static process.send(Value msg);

呼び出しパラメータ:

  • msg: 値、送信するメッセージを指定します

静的プロパティ

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、現在のプロセスの標準入力オブジェクトをクエリします。tty中衛TTYInputStream、 さもないとStream

1
static readonly Stream process.stdin;

stdout

Stream、現在のプロセスの標準出力オブジェクトをクエリします。tty中衛TTYOutputStream、 さもないとStream

1
static readonly Stream process.stdout;

stderr

Stream、現在のプロセスの標準エラー出力オブジェクトをクエリします。tty中衛TTYOutputStream、 さもないとStream

1
static readonly Stream process.stderr;

exitCode

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

1
static Integer process.exitCode;

connected

ブール値、親プロセスとのパイプが正常に接続されているかどうかを問い合わせます

1
static readonly Boolean process.connected;