プロセスを識別したくなる場面が出てきます。
さて、どうすればいいのかと ・・・・
folk() を使えばある程度の切り分けはできるようなのですが、しかし場合によっては、
たんに排他制御するだけでは用が足りないこともあります。
言語はperl。
で、いろいろと探してみました。
環境変数の中に『$$』というのが有るらしいんです。
まず、perl の変数の一覧です。
特殊変数
グローバル特殊変数
| $! | 数値コンテキストではエラー番号、文字列ではエラーメッセージ |
| $” | ダブルクォート文字列内でリスト展開するときのセパレータ(スペース) |
| $# | printで数値を出力するときの書式(%.14g) |
| $_ | 入力処理とパターンマッチで、デフォルトの対象となる変数 |
| $. | ファイルハンドルの現在行番号 |
| $, | printの出力フィールドセパレータ(空文字列) |
| $/ | 入力レコードセパレータ(改行文字) |
| $: | フォーマットの ^フィールド内での改行文字 |
| $? | コマンド終了時に返すステータスコード |
| $$ | 実行中のPerlのプロセス番号 |
| $0 | 実行中のPerlのファイル名 |
| $( | このプロセスの実グループID |
| $) | このプロセスの実行グループID |
| $@ | 最後に実行した eval関数のエラーメッセージ |
| $[ | 配列の先頭の要素番号と文字列の最初の位置番号(0) |
| $] | Perlのバージョン |
| $^A | フォーマットで作成された文字列の一時保管 |
| $^D | デバッグモード番号 |
| $^E | 拡張エラーメッセージ |
| $^F | システムファイル記述子の最大値(2) |
| $^H | use strictによる構文チェックのセット |
| $^I | -iオブション(バックアップ)の拡張子 |
| $^L | フォーマットで改ページに利用する文字列 |
| $^M | $^M='a' x (1<<16); メモリ不足時用バッファを指定 |
| $^O | PerlのバイナリがコンパイルされたOSの名称 |
| $^P | デバッガが内部で使用するフラグ |
| $^R | 最後に成功した正規表現アサーションの評価結果 |
| $^S | インタプリタ状況(eval内:真 その他:偽) |
| $^T | スクリプトを実行した時刻(1970年初からの秒数) |
| $^W | -wオプションの警告フラグの値 |
| $^X | 現在実行中のPerlの実行形式のファイル名 |
| $< | このプロセス実ユーザID(UNIX) |
| $> | このプロセス実効ユーザID(UNIX) |
グローバル特殊配列
| $ARGV | 行入力演算子(><)から読み込まれたファイル名 |
| %ENV | 環境変数の名称と値 |
| %INC | require,useで読み込まれたファイル名 |
| %SIG | シグラルハンドラセット |
| @_ | サブルーチンへの引数リスト |
| @F | コマンドラインスィッチ-a で分割された結果 |
| @ARGV | コマンドラインからの引数リスト |
| @INC | require,useでの検索対象ディレクトリリスト |
正規表現関連
| $1,…,$n | 最後に一致した正規表現内のn番目の()の部分文字列 |
| $& | パターンマッチで一致した文字列 |
| $' | パターンマッチで一致した文字列より後ろの文字列 |
| $` | パターンマッチで一致した文字列より前の文字列 |
| $+ | 最後に一致した正規表現内の最後の()に対応した部分文字列 |
| $* | =1 文字列が複数行の場合のパターンマッチ (0) [Perl4] |
ファイルハンドル関連
| $- | writeでの現在ページに出力する残り行数(=0 強制改ページ) |
| $% | writeフォーマットでの現在のページ番号 |
| $= | writeフォーマットでのページあたりの行数 |
| $~ | 出力用ファイルハンドルに設定されているフォーマット名 |
| $^ | 出力用ファイルハンドルに設定されているページ先頭フォーマット名 |
| $| | 0以外の値でwriteやprintの実行時に出力バッファの内容を出力 |