ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ
| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

  HOME >> アルファベットで関数を検索 >> msgctl
msgctl [SYSTEMV IPC の MSGCTL システムコールを実行し、メッセージキューの削除などの制御を行なう]
[関数の使い方・書式]

msgctl ,,

(スカラー) キューID。・・・ 操作対象の指定。msgget などで取得。
(スカラー) コマンド定数。・・・ 削除などの操作の指定。
(スカラー) コマンド定数が &IPC_RMID のときは0。
&IPC_STAT のときはかえされる msqid_ds 構造体を格納する変数。
(スカラー) msgctl システムコールが返した値がそのまま返される。
ただし0のときは "0 but true" となる。エラー時は偽(未定義値)を返します。


[関数の機能]
既に存在するメッセージキューの属性を取得・変更したり、キューを削除します。

● 主なコマンド定数
IPC_STAT メッセージキューの状況(msqid_ds 構造体) を第3引数の変数にセットします。
IPC_RMID 指定したキューIDを持つメッセージキューを削除します。 プラットフォームで SYSTEMV IPC がサポートされている必要があります。 エラー発生時には、 $! にエラーコードがセットされます。

&IPC_STAT フラグをセットして変数に格納した値から、unpack 関数を使って個々のメンバーの値を取り出すことは一応可能です。 しかし、msqid_ds 構造体のサイズやメンバーの位置などはプラットフォームによって異なっている為、C言語などを使ってこれらを調査した上でテンプレートを作成する必要があります。


[書式の例]
$ret = msgctl $gid, $command, $buffer;


サンプルソース
● コマンドラインからキューIDを与え、該当するメッセージキューを削除します。

require "sys/ipc.ph";
require "sys/msg.ph";
$| = 1;
$gid = shift;
unless (defined $gid) { die "Usage:$0 message queue ID\n" }
$ret = msgctl($gid, &IPC_RMID, 0);
# if (!difined($ret) || $ret < 0 ) {
if (! $ret) {
	die "メッセージキューの削除失敗: $!\n";
}
else {
	print "メッセージキュー $qid を削除しました。\n";
}



| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 ミスティーネット Inc. All Right Reserved.