原创

k8s pause

c源码

关键的地方 for(;;)pause(); # pause是系统函数,作用等待信号

static void sigdown(int signo) {
  psignal(signo, "Shutting down, got signal");
  exit(0);
}

static void sigreap(int signo) {
  while (waitpid(-1, NULL, WNOHANG) > 0)
    ;
}

int main(int argc, char **argv) {
  int i;
  for (i = 1; i < argc; ++i) {
    if (!strcasecmp(argv[i], "-v")) {
      printf("pause.c %s\n", VERSION_STRING(VERSION));
      return 0;
    }
  }

  if (getpid() != 1)
    /* Not an error because pause sees use outside of infra containers. */
    fprintf(stderr, "Warning: pause should be the first process\n");

  if (sigaction(SIGINT, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0)
    return 1;
  if (sigaction(SIGTERM, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0)
    return 2;
  if (sigaction(SIGCHLD, &(struct sigaction){.sa_handler = sigreap,
                                             .sa_flags = SA_NOCLDSTOP},
                NULL) < 0)
    return 3;

  for (;;)
    pause();
  fprintf(stderr, "Error: infinite loop terminated\n");
  return 42;
}

作用

官方的解答

pause容器为pod保持网络命名空间,如果一个nginx的容器die了,将要restart。这时候不需要创建新的网络命名空间,只需要加入pause的网络命令空间即可。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TKE独立集群(2)

    master 上腾讯云开发的服务,简单查看服务,不深究服务的作用;master节点默认不开放22端口,这里我打开了

    何飞良
  • 容器抓包操作

    何飞良
  • TKE节点管理

    如果是workload的pod在节点移除了,pod会在新的的节点新建;如果是裸pod,是会删除的,不会新建

    何飞良
  • Android TV开发总结【RecycleView】

    在TV开发中RecycleView的使用是最让人头疼的经常会出现焦点丢失。因为当item未显示时不能获取焦点。所以当我们按上下键时经常丢失焦点或者焦点乱跳。要解...

    先知先觉
  • 洛谷P3586 [POI2015]LOG(贪心 权值线段树)

    attack
  • P1120 小木棍 [数据加强版]

    题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍...

    attack
  • LeetCode 12. Integer to Roman

    ShenduCC
  • 『自己构建节假日API』

    之前梳理了一些内置库的学习,收到了一些评论,绝大多数评论都在直指一个问题:为什么梳理这些无关痛痒的内置库?

    谢伟
  • String - 161. One Edit Distance

    Given two strings S and T, determine if they are both one edit distance apart.

    用户5705150
  • LeetCode 240. Search a 2D Matrix II

    ShenduCC

扫码关注云+社区

领取腾讯云代金券