如何确定 Linux 上是否使用 Java 或 JRuby 运行不同的进程 ID?

2023-12-24

我需要查看给定的进程 ID 是否正在运行,并且它必须在 Java 或 JRuby 中工作(最好是 Ruby 解决方案)。它可能取决于 Linux 系统(特别是 Debian 和/或 Ubuntu)。

我已经有了我要找的PID,只需要看看它当前是否正在运行。


UPDATE:

感谢大家的回复!我很欣赏它,但这并不是我正在寻找的东西...我希望在标准 Ruby 库(或 Java,但最好是 Ruby)中找到一些东西...如果不存在这样的库调用,我可能会坚持使用我已经有了 procfs 解决方案。


达伦的评论 https://stackoverflow.com/questions/141162/how-can-i-determine-if-a-different-process-id-is-running-using-java-or-jruby-on#141731是正确的,但您可以只使用 Ruby 的 Process.kill 方法和 0 信号,而不是调用“kill”二进制文件:

#!/usr/bin/ruby 

pid = ARGV[0].to_i

begin
    Process.kill(0, pid)
    puts "#{pid} is running"
rescue Errno::EPERM                     # changed uid
    puts "No permission to query #{pid}!";
rescue Errno::ESRCH
    puts "#{pid} is NOT running.";      # or zombied
rescue
    puts "Unable to determine status for #{pid} : #{$!}"
end

[用户@主机用户]$ ./is_running.rb 14302
14302 正在运行

[用户@主机用户]$ ./is_running.rb 99999
99999 未运行。

[用户@主机用户]$ ./is_running.rb 37
没有权限查询37!

[用户@主机用户]$ sudo ./is_running.rb 37
37 正在运行

参考:http://pleac.sourceforge.net/pleac_ruby/processmanagementetc.html http://pleac.sourceforge.net/pleac_ruby/processmanagementetc.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定 Linux 上是否使用 Java 或 JRuby 运行不同的进程 ID? 的相关文章

  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • 如何比较 Struts 2 中 url 请求参数中的单个字符

    我正在读取具有单个字符的 url 参数 它将是Y or N 我必须写一个条件来检查它是否Y or N并做相应的事情 这是我写的 但似乎不起作用 总是转到其他地方 网址是
  • 哪个 Swing 布局管理器可以获得我想要的布局?

    我正在尝试按照这个模型制作一个基本的登录菜单 我决定将整个菜单放入 JPanel 中 以便在连接成功后我可以切换到另一个面板 所以我决定使用 Borderlayout 将标题放在北区 将连接按钮放在南区 我将边框布局的中心本身设置为面板 我
  • Spring3/Hibernate3/TestNG:有些测试给出 LazyInitializationException,有些则没有

    前言 我在单元测试中遇到了 LazyInitializationException 的问题 而且我很难理解它 正如你从我的问题中看到的那样Spring 中的数据库会话 https stackoverflow com questions 13
  • RMI 中的引用传递问题? [复制]

    这个问题在这里已经有答案了 有人可以告诉我我错在哪里 为什么这个 RMI 聊天应用程序不起作用 目标是通过远程对象或序列化对象实现客户端 服务器和逻辑之间的解耦 import javax swing import java awt even
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • Java:java.util.ConcurrentModificationException

    我正在制作 2D 目前正在研究用子弹射击 子弹是一个单独的类 所有项目符号都存储在称为项目符号的数组列表中 当它超出屏幕一侧 Exception in thread main java util ConcurrentModification
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 创建正则表达式匹配数组

    在Java中 我试图将所有正则表达式匹配返回到一个数组 但似乎您只能检查模式是否匹配某些内容 布尔值 如何使用正则表达式匹配来形成与给定字符串中的正则表达式匹配的所有字符串的数组 4城堡的回答 https stackoverflow com
  • JSch中如何设置文件类型和文件传输模式?

    我使用 Apache Common NetFTPClient并设置了我的ftpClient在上传文件之前使用如下所示的方法 ftpClient setFileType FTP BINARY FILE TYPE ftpClient setFi
  • 正则表达式的 o 修饰符是什么意思?

    Ruby 正则表达式有一些选项 例如i x m o i例如 意味着忽略大小写 什么是o选项是什么意思 在ri Regexp 它说o意味着执行 仅插值一次 但是当我这样做时 a one b a a two b不改变 它保持 one 我缺少什么
  • 为什么我的代码会产生错误:该语句没有返回结果集[重复]

    这个问题在这里已经有答案了 我正在从 Microsoft SQL Server Studio 执行以下查询 该查询工作正常并显示结果 SELECT INTO temp table FROM md criteria join WHERE us
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 失败时石英重试

    假设我有一个这样配置的触发器
  • 如何捕获 try-with-resource 语句中 close 方法抛出的异常

    我正在读关于try with resourceJava 中的语句可用于指定任意数量的资源 try Resource1 res1 initialize code Resource1 res2 initialize code statement

随机推荐

  • 无法渲染动画

    我正在尝试学习如何使用 R 和 gganimate 获得漂亮的动画图形 但遇到了一些问题 当我尝试为图形设置动画时 R 似乎编辑了一些 PNG 文件 但随后无法渲染它们 这是我使用的代码示例 首先加载 tidyverse gganimate
  • 使用 jquery 切换显示\隐藏但具有多个 id

    我有一个 php 页面 它生成多个 UL 和每个 UL 上方的链接 如下所示 a title Category one Category one a ul li Subcategory li li li li Subcategory li
  • 获取异步任务的结果

    我想从异步任务中获取结果 如果我使用task execute get 我的UI将被冻结 我希望我的异步任务是独立的类 所以我不想将结果处理代码放在 onPostExecute 中 我在这里找到了一些有关异步任务回调数据的信息 http bl
  • 如何改进 Excel 数据连接的刷新?

    和许多人一样 我有一个电子表格 可以从 40 多个文本文件中提取数据作为数据源 文本文件来自另一个应用程序 需要定期更新到 Excel 中 数据源文件和电子表格集需要能够复制并在不同的系统上运行 这就是 Excel 惊人地无法支持从电子表格
  • com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException

    在部署我的战争文件时 我收到以下异常 SEVERE Exception starting filter struts2 com opensymphony xwork2 inject ContainerImpl MissingDependen
  • Python中列表的大小调整因子是多少

    例如 ArrayListJava 中的 s 的大小调整因子为 2 ArrayList当空间不足时 该数组的所有元素都会转移到一个新数组 该新数组的大小是原始数组的 2 倍 由于 Python 列表 数组本质上是动态的 那么它们的大小调整因子
  • 将宽字符串文字与字符串宏相结合

    我有一个字符串宏 如下所示 define APPNAME MyApp 现在我想通过执行以下操作来使用此宏构造一个宽字符串 const wchar t AppProgID APPNAME L Document 但是 这会生成 连接不匹配的字符
  • Google Sheets 组合骰子的公式

    情况 我正在创建一个骰子符号 清理 公式 以便将类似的骰子组合起来 例如 1D6 1D6 将变为 2d6 使事情变得复杂的是 负掷骰 如 1D6 不能汇总到最终结果中 意思是 1D6 1D6 不等于 0 为什么 因为 1D6 并不等于每次滚
  • sqlite3:由于未最终声明而无法关闭

    我有两个 sqlite 连接并按如下方式执行 CMyDatabase 是 sqlite3 的派生类 CMyDatabase dbConnection1 new CMyDatabase dbConnection1 gt OpenDataBas
  • 布局更改时的动画

    每次调整窗口大小时 JavaFX 中的基本 FlowPane 都会对其中的项目进行布局 然而 没有动画 结果相当不和谐 我在 FlowPane 内每个节点的layoutX 和layoutY 属性上连接了一个更改侦听器 结果或多或少有效 但有
  • 如何在 C++ 中声明高分辨率时钟的变量?

    在这里的例子中 https en cppreference com w cpp chrono high resolution clock now https en cppreference com w cpp chrono high res
  • 在 C 中交换数字中的位[重复]

    这个问题在这里已经有答案了 在一次 C 面试中 我被要求将数字的前 4 位与最后 4 位交换 例如 1011 1110 应为 1110 1011 有人有解决方案吗 如果您还没有见过或做过很多事情 那么一个很好的学习资源是 位摆弄黑客 htt
  • 错误 > 无法通过端口 8080 连接到 Cloud Shell > 使用代码服务器连接 Visual Code 时

    尝试在 VM 实例中安装 Visual Code IDE 运行代码服务器后 在检查浏览器上的视图时 出现错误 错误 无法连接到端口 8080 上的 Cloud Shell 确保您的服务器正在侦听端口 8080 然后重试 在此输入图像描述 h
  • React recaptcha google根本不显示

    我已经安装了react recaptcha google并按照此处的示例添加到我的应用程序中 https medium com codeep io how to use google recaptcha with react 38a5cd5
  • 如何从仅使用 GPU 访问创建的 IDXGISurface 中获取像素数据?

    概括地说 我想要完成的是捕获 部分 屏幕并将捕获的内容转换为数字图像格式 以下步骤概述了我认为的解决方案 设置一个Direct3D11CaptureFramePool https learn microsoft com en us uwp
  • Rails 5 data-method=delete 发送 GET 请求

    我在设置要删除的 http 动词时遇到问题 这是我在 Rails 5 中的第一个应用程序 我也在使用购买的主题 所以我确信我错过了一些愚蠢的东西 当我创建以下链接时 I get a href users sign out Sign out
  • 用于接受有效主机名、IPv4 或 IPv6 地址的 Java 正则表达式

    有人有一个好的 最好是经过测试的 正则表达式来仅接受有效的 DNS 主机名 IPv4 或 IPv6 地址吗 我明白你可能是forced使用正则表达式 但是 如果可能的话 最好避免使用正则表达式来执行此任务 而使用 Java 库类来进行验证
  • 将对象转换为原始 int

    如何将对象 不是字符串 例如 TreeNode item 转换为原始类型 例如 int 回应您的最后评论 只需仔细检查该对象确实是 Integer 类型 然后使用自动装箱 我假设您的编译器级别为 1 5 Object o getTheVal
  • 使用 image.onload 将多个图像绘制到画布上

    当我尝试在画布上绘制大型二维图像数组时遇到问题 我使用一个单独的程序 获取一个大图像文件 并将其分解为更小的 统一的部分 我使用 2D 数组来表示图像的 网格 理想情况下 当我分配网格中每个元素的 src 时 一旦准备好 该图像就会被绘制到
  • 如何确定 Linux 上是否使用 Java 或 JRuby 运行不同的进程 ID?

    我需要查看给定的进程 ID 是否正在运行 并且它必须在 Java 或 JRuby 中工作 最好是 Ruby 解决方案 它可能取决于 Linux 系统 特别是 Debian 和 或 Ubuntu 我已经有了我要找的PID 只需要看看它当前是否