当前位置: 首页 > 面试题库 >

如何确定进程是否在lxc / Docker中运行?

卢皓轩
2023-03-14
问题内容

有什么方法可以确定进程(脚本)是否在lxc容器(〜Docker运行时)中运行?我知道有些程序能够检测它们是否在虚拟机中运行,是否可以为lxc /
docker使用类似的程序


问题答案:

最可靠的方法是检查/proc/1/cgroup。它会告诉您init进程的控制组,并且当您 不在 容器中时,它将/用于所有层次结构。当您
容器内时,将看到锚点的名称。对于LXC /
Docker容器,将分别类似于/lxc/<containerid>/docker/<containerid>



 类似资料:
  • 问题内容: [Updated1]我有一个外壳,它将在某些功能中更改TCP内核参数,但是现在我需要使该外壳在Docker容器中运行,这意味着,该外壳需要知道它在容器内运行并停止配置内核。 现在我不确定如何实现,这是容器内部的内容: 我可以使用上面的任何标志来确定此过程是否在容器内运行吗? [Updated2]:我还注意到确定进程是否在lxc/Docker中运行,但在这种情况下似乎不起作用,我容器中的

  • 我正在尝试创建一个bash实用程序脚本来检查docker守护程序是否在我的服务器中运行。除了运行这样的代码之外,有没有更好的方法来检查docker守护程序是否在我的服务器中运行? 我想创建一个bash shell脚本来检查我的docker守护进程是否正在运行。如果它正在运行,那么什么也不做,但是如果它没有运行,那么就启动docker守护进程。 我的伪代码大概是这样的。我正在考虑解析我的ps -ef

  • 问题内容: 我需要一个独立于平台的(Linux / Unix | OSX)shell / bash命令,该命令将确定特定进程是否正在运行。例如,…最简单的方法/命令是什么? 问题答案: 尽管和是确定正在运行的工具的绝佳工具,但不幸的是,它们在某些操作系统上均不可用。确定的故障保护将使用以下内容: Gentoo Linux上的输出: OS X上的输出: 在Linux和OS X上,grep都会返回退出

  • 问题内容: 我的应用程序会定期在屏幕上显示信息。但是,如果屏幕截图处于活动状态,则应用程序应等待用户返回。 有什么方法可以确定屏幕保护程序是否正在运行? 我不需要干净的解决方案,您只需要在Windows XP上工作即可。 问题答案: 尝试使用JNA库来调用SystemParametersInfo系统调用。 下面的示例使用JNA提供的win32示例中的代码:

  • 问题内容: 在我的代码中,仅当它在JUnit测试中运行时,才需要进行某些修复。如何确定代码是否在JUnit测试中运行?是否有类似JUnit.isRunning()== true的东西? 问题答案: 如果您要以编程方式确定要运行哪个“配置文件”,则可能是一个好主意。考虑使用Spring Profiles进行配置。在集成测试中,您可能需要针对其他数据库进行测试。 这是经过测试的有效代码

  • 问题内容: 我有一个需要用户输入密码的应用程序。 我想要做的是从控制台读取密码(如果操作系统支持unix)或显示JOptionPane并要求用户输入密码(如果操作系统支持图形界面(例如Windows))。 有人可能会争辩说,在上述两种情况下控制台始终可用,因此控制台输入就足够了。但是问题是,如果Java应用程序开始使用javaw.exe,则控制台不可用。因此,我需要一种方法来确定我是否可以做任何一