proc_mobility_base_set 子例程
用途
设置或取消设置AIX®实时更新使用的属性,以指示当前进程是一个base过程。
库
标准 C 库 (libc.a)
语法
#include <sys/mobility.h>描述
可以使用 proc_mobility_base_set 子例程将调用进程注册为base实时更新 操作的过程。
基本流程是在 实时更新 操作期间未保存和迁移的流程。 基本进程保留在原始逻辑分区 (LPAR) 上,而不是迁移到替代 LPAR。
只有一个过程child型init进程可以注册为base过程。 否则,错误代码EINVAL返回。
proc_mobility_base_set 子例程可用于注册base仅当正在进行实时内核更新 (LKU) 时处理。 如果没有正在进行的 LKU ,那么错误代码EAGAIN返回
参数
| 项 | 描述 |
|---|---|
| pid | 要对其执行操作的进程标识。 值 0 指示当前进程。 如果指定非零值,那么它必须与调用进程的 PID 匹配。 |
| 标记 | MOBILITY_BASE_PROCESS 标志用于设置基本属性。 值 0 用于取消设置基本属性。 |
返回值
| 项 | 描述 |
|---|---|
| 0 | 成功 |
| 1 | 错误 |
错误代码
| 错误代码 | 描述 |
|---|---|
| ENOSYS | 没有建立流动制度。 |
| ESRCH | 没有这样的进程。 |
| EINVAL | 输入参数无效。 |
| EAGAIN | 无 LKU ,正在进行中 |
示例
以下示例显示了 proc_mobility_base_set 子例程的用法:
#include <stdio.h>
#include <sys/mobility.h>
int main(int argc, char *argv[])
{
int rc = 0;
pid_t pid = getpid();
/* Mark this process as a base process */
rc = proc_mobility_base_set(0, MOBILITY_BASE_PROCESS);
if (rc) {
printf(“proc_mobility_base_set failed, errno %d\n”, errno);
exit(-1);
}
printf(“Process %d is now marked as a base process.\n”, pid);
}