PROCCTL(2) | FreeBSD System Calls Manual | PROCCTL(2) |
名称
procctl — プロセスを制御するライブラリ
Standard C Library (libc, -lc)解説
procctl() システムコールは、プロセスを制御するために提供します。 idtype と id 引数は、制御するプロセスの組を指定します。複数のプロセスが識別子と一致するなら、 procctl は、できるだけ選択された可能性の多くを制御するために“最善の努力”を行ないます。選択されたプロセスが成功して要求を終了しないなら、エラーが単に返されます。次の識別子のタイプがサポートされます:- P_PID
- プロセス ID id があるプロセスを制御します。
- P_PGID
- ID id があるプロセスグループに属するプロセスを制御します。
実行する制御要求は、 cmd 引数によって指定されます。次のコマンドがサポートされます:
- PROC_SPROTECT
-
プロセス保護状態を設定します。これは、システムが利用可能なメモリとスワップを使い果たすなら、 kill されることから保護されるプロセスをマークするために使用されます。
arg パラメータは、操作と 0 以上のオプションのフラグを含んでいる整数を指さなければなりません。次の操作がサポートされます:
- PPROT_SET
- 保護される選択されたプロセスをマークします。
- PPROT_CLEAR
- 選択されたプロセスの保護された状態をクリアします。
次のオプションのフラグがサポートれます:
- PPROT_DESCEND
- 各選択されたプロセスに加えて、各選択されたプロセスのすべての子プロセスに要求された操作を適用します。
- PPROT_INHERIT
- PPROT_SET とともに使用されるとき、保護される各選択されたプロセスの将来の子プロセスをすべてマークします。また、将来の子プロセスは、それらの将来の子プロセスをすべてマークします。
戻り値
エラーが生じるなら、-1 の値が、返され errno は、エラーを示す値に設定されます。エラー
procctl() システムコールは、次の場合に失敗します:- [ EFAULT]
- arg が、プロセスの割り付けられたアドレス空間の外側を指しています。
- [ EINVAL]
-
cmd 引数が、サポートされないコマンドを指定しています。
idtype 引数は、サポートされない識別子のタイプを指定します。
- [ EPERM]
- 呼び出しているプロセスは、選択されたプロセスのいずれかで、要求された操作を実行する許可がありません。
- [ ESRCH]
- プロセスが要求された idtype と id と一致しませんでした。
- [ EINVAL]
- 無効の操作またはフラグが、 PROC_SPROTECT コマンドのための arg で渡されました。
関連項目
ptrace(2)歴史
procctl() 関数は、 FreeBSD 10.0 で登場しました。September 19, 2013 | FreeBSD |