シグナルをプロセスに送信します。$ZSIGPROC 関数の書式は次のとおりです:
$ZSIGPROC(expr1,expr2)
最初の式は、シグナルが送信されるプロセスのpidです。
2番目の式はシステム・シグナル番号です。シグナル名のシグナル番号は、さまざまなプラットフォームで異なる可能性があるため、シグナル名を使用して異なるプラットフォーム間でコードの移植性を維持することをFISは推奨します。たとえば、SIGUSR1 のシグナル番号は、Linuxでは10、AIX / Tru64では30、その他のプラットフォームでは16です。gtmposix プラグインで使用できる $>mposix.signalval(signame,.sigval) 関数を使用して、シグナル名のシグナル番号を調べます。
2番目の式が 0 の場合、$ZSIGPROC()は最初の式で指定されたpidの有効性をチェックします。
$ZSIGPROC() には4つの戻り値があります:
リターンコード/ POSIXエラー定義 |
説明 |
---|---|
0 |
指定されたシグナル番号は、指定されたpidに正常に送信されました。0以外の戻り値は、エラーを示します。 |
EPERM |
プロセスは、指定されたPIDにシグナルを送信する権限が不十分です。 |
ESRCH |
指定されたPIDは存在しません。 |
EINVAL |
無効な式です。 |
注意 | |
---|---|
$ZSIGPROC() は、現在ではGT.Mプロセスの非同期割り込みメカニズムを XECUTE $ZINTERRUPTに呼び出す方法として機能しますが、基本的なメカニズムは POSIX USR1シグナルを使用するため、FISは利便性を考慮して基礎となるメカニズムを変更する権利を留保し、POSIX USR1の送信は、非同期割り込みメカニズムを呼び出す方法として機能しなくなる可能性があります。サポートされ、安定したAPIとしてMUPIP INTRPTを使用して、非同期割り込みメカニズムを呼び出します。 |