僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程都将成为一个僵尸进程。如果父进程先退出,子进程被init接管,子进程退出后init会收回其占用的相关资源。
我们都知道进程的工作原理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。进程停止后,该进程就会从进程表中移除。
你可以通过System-Monitor查看当前进程。
In UNIX System terminology, a process that has terminated,but whose parent
has not yet waited for it, is called a
zombie.在Unix系统中,一个进程结束了,但是它的父进程没有等待它,那么它将变成一个僵尸进程。但是如果该进程的父进程已经先结束了,那么该进程就不会变僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由init来接管他,成为他的父进程。
怎么查看僵尸进程?
利用命令ps,可以看到有父进程ID为1的进程是孤儿进程s状态为z的是僵尸进程。
注意:孤儿进程是尚未终止但已停止的进程,但其父进程已经终止,由init收养而僵尸进程则是已终止的进程,其父进程不一定终止。
重新登录,以激活群组成员的变化。下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。
$ sudo vi /etc/default/docker.io DOCKER="/usr/bin/docker.io"
重启Docker服务。
$ sudo service docker.io restart
管理Docker容器
如果你想启动Ubuntu *** 作系统的一个新的Docker容器,首先需要获取Ubuntu Docker映像文件。下面这个命令会通过网络下载Docker映像文件。
$ docker pull ubuntu
你可以以一种交互模式来开启Ubuntu Docker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。
$ docker run -i -t ubuntu /bin/bash
上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu *** 作系统了。
常见的 exit code = 13 的原因是 JVM 的链接库加载失败:比如,你的 Eclipse 是 64位的,但 JDK / JRE 是 32 位的,在用到 dll/so 链接库时会出错。
Java 应用程序代码本身是不区分 32位和 64位的,但一旦涉及到 dll/so (eclipse 自己用到了不少 dll/so 链接库)就需要区分 32位和 64位的了。
从你的命令行看 JDK 是 64位的,可能需要指定 jvm.dll 而不是 javaw.exe 作为 vm 来启动。
Eclipse 官方网站上有一个 forums(论坛),里面有一个 Newcomers (新手入门)板块,其中有一篇文章标题带着 Eclipse won't start ( Eclipse 启动不了 )说明 了这个 exit code 13 的意思,这篇文章中有一个链接说明 如何修改 eclipse.ini 内容来指定 Eclipse 运行所需的 JRE/JDK 路径。
百度知道没有把 eclipse 网站加到白名单,所以不能贴链接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)