diff options
Diffstat (limited to 'documentation/manual-pages/ja/man3/kvm_getprocs.3')
-rw-r--r-- | documentation/manual-pages/ja/man3/kvm_getprocs.3 | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man3/kvm_getprocs.3 b/documentation/manual-pages/ja/man3/kvm_getprocs.3 new file mode 100644 index 0000000000..43d67bc3c1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_getprocs.3 @@ -0,0 +1,174 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libkvm/kvm_getprocs.3,v 1.6.2.6 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM_GETPROCS 3 +.Os +.Sh 名称 +.Nm kvm_getprocs , +.Nm kvm_getargv , +.Nm kvm_getenvv +.Nd ユーザプロセス状態にアクセスする +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.In kvm.h +.In sys/param.h +.In sys/sysctl.h +.\" .Fa kvm_t *kd +.Ft struct kinfo_proc * +.Fn kvm_getprocs "kvm_t *kd" "int op" "int arg" "int *cnt" +.Ft char ** +.Fn kvm_getargv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" +.Ft char ** +.Fn kvm_getenvv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" +.Sh 解説 +.Fn kvm_getprocs +は +.Fa kd +が指示するカーネルの動作中のプロセスの (サブ) 集合を返します。 +.Fa op +と +.Fa arg +の引数は,返されるプロセスの集合を制限する属性を構成します。 +.Fa op +の値は以下のフィルタリング属性を記述しています : +.Pp +.Bl -tag -width 20n -offset indent -compact +.It Sy KERN_PROC_ALL +すべてのプロセス +.It Sy KERN_PROC_PID +プロセス ID +.Fa arg +を持つプロセス +.It Sy KERN_PROC_PGRP +プロセスグループ +.Fa arg +を持つプロセス +.It Sy KERN_PROC_SESSION +セッション +.Fa arg +を持つプロセス +.It Sy KERN_PROC_TTY +tty +.Fa arg +を持つプロセス +.It Sy KERN_PROC_UID +実効ユーザ ID +.Fa arg +を持つプロセス +.It Sy KERN_PROC_RUID +実ユーザ ID +.Fa arg +を持つプロセス +.El +.Pp +見つけたプロセス数は参照パラメータ +.Fa cnt +で返されます。 +プロセスは kinfo_proc 構造体の連続配列として返されます。 +このメモリは局所的に割り当てられ、 +.Fn kvm_getprocs +と +.Fn kvm_close +に引き続く呼び出しはこの記憶域に上書きします。 +.Pp +.Fn kvm_getargv +はヌルで終了する引数ベクタを返します。 +このベクタは +.Fa p +が示すプロセスに渡されたコマンドライン引数に対応します。 +おそらく、これらの引数はプロセス生成時の +.Xr exec 3 +に渡された値に相当します。 +しかしながら、この情報は、 +故意にプロセス自身のコントロール下にあります。 +オリジナルのコマンド名は、 +.Fn kvm_getprocs +によって返されたプロセス構造体の p_comm フィールドに、 +変更されていない状態で見つけることができます。 +.Pp +.Fa nchr +引数はヌルバイトを含めた最大の文字数を示し、 +文字列の構築に使います。 +もしもこの量を超えてしまえば、 +オーバフローの原因となる文字列は切り捨てられ、 +結果が部分的に返されます。これは +.Xr ps 1 +や +.Xr w 1 +のようなプログラムにとっては簡便な方法です。 +これらのプログラムにおいては、 +コマンドの 1 行要約のみを印字しますので、 +無視するためのみに多量のテキストを複写すべきではありません。 +.Fa nchr +が 0 ならば、なんら制限は課されませんし、 +すべての引数の文字列はそっくりそのまま返されます。 +.Pp +argv ポインタと文字列記憶域に割り当てられたメモリは、 +kvm ライブラリによって所有されます。引き続く +.Fn kvm_getprocs +と +.Xr kvm_close 3 +呼び出しはこの記憶域を容赦なく使います。 +.Pp +.Fn kvm_getenvv +関数は +.Fn kvm_getargv +に類似していますが、環境文字列のベクタを返します。 +このデータはまたプロセスにより変更可能です。 +.Sh 戻り値 +.Fn kvm_getprocs , +.Fn kvm_getargv , +および +.Fn kvm_getenvv +はすべて異常終了時に +.Dv NULL +を返します。 +.Sh バグ +これらのルーチンは kvm インタフェースに属していません。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_geterr 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 |