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

モジュールプロセス

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

参考方法:

1
var process = require('process');

イベントを処理する

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

beforeExit イベント

イベント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、時間を表す値を返します

cpuUsage

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

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

呼び出しパラメーター:

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

戻り値:

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

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

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

の:

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

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、指定された内部モジュールを返します

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を指定

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

Boolean、親プロセスとのパイプラインが正常に接続されているかどうかを問い合わせる

1
static readonly Boolean process.connected;