proc_mobility_restartexit_set 子例程
用途
设置或取消设置AIX®实时更新使用的属性,以指示当前进程是一个exit on restart过程。
库
标准 C 库 (libc.a)
语法
#include <stdio.h>
#include <sys/mobility.h>
描述
proc_mobility_restartexit_set 子例程可用于将调用进程注册为exit on restart实时更新 操作的过程。 该exit on restart进程在原始逻辑分区 (LPAR) 上冻结,但实时更新 操作不会检查它们的状态。 将在替代 LPAR 上重新创建这些进程。 当它们重新启动时,它们将调用 exit () 函数并终止。 没有必须保留的特定状态信息的应用程序可以选择此方法。 无需这些应用程序即可释放移动性操作不支持的资源。 如果这些应用程序由守护程序机制监视,那么出口可能会导致在替代 LPAR 上启动新实例。
根据指定的标志,可以标记进程exit on restart用于 实时更新 操作和/或工作负载分区迁移操作。
参数
| 项 | 描述 |
|---|---|
| pid | 要对其执行操作的进程标识。 值 0 指示当前进程。 如果指定非零值,那么它必须与调用进程的 PID 匹配。 |
| value | MOBILITY_RESTART_EXIT 标志用于设置exit on restart属性。 值 0 用于取消设置exit on restart属性。 |
| 标记 | 属性的作用域为:
|
返回值
| 项 | 描述 |
|---|---|
| 0 | 成功 |
| 1 | 错误 |
错误代码
| 错误代码 | 描述 |
|---|---|
| ENOSYS | 没有建立流动制度。 |
| ESRCH | 没有这样的进程。 |
| EINVAL | 输入参数无效。 |
示例
以下示例显示了 proc_mobility_restartexit_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 “exit on restart” for live update */
rc = proc_mobility_restartexit_set(0, MOBILITY_RESTART_EXIT, PROC_MOBILITY_GLOBAL);
if (rc) {
printf(“proc_mobility_restartexit_set failed, errno %d\n”, errno);
exit(-1);
}
printf(“Process %d is now marked to exit on restart during an AIX live update.\n”, pid);
}