【发布时间】:2011-10-29 14:02:20
【问题描述】:
如何找出正在运行的 Equinox 实例的 pid,是否有某个 pid 文件,或者它是否可以配置放置 pid 文件的位置?
更新:说清楚,我有一堆实例在运行,它们的配置大致相同,所以任何只寻找 equinox 的用户都不知道哪个实例是哪个
【问题讨论】:
标签: java linux process osgi equinox
如何找出正在运行的 Equinox 实例的 pid,是否有某个 pid 文件,或者它是否可以配置放置 pid 文件的位置?
更新:说清楚,我有一堆实例在运行,它们的配置大致相同,所以任何只寻找 equinox 的用户都不知道哪个实例是哪个
【问题讨论】:
标签: java linux process osgi equinox
不,Equinox 不会创建 PID 文件或报告其 PID。
您可以编写一个包来为您执行此操作,但请注意,Java 程序没有检索其 PID 的标准方法(因为某些目标操作系统甚至没有“PID”的概念)。请参阅this post 了解一些想法。
【讨论】:
只需从 CLI 执行以下命令:
ps aux | grep equinox
[编辑] Equinox 是否绑定到某个端口? 如果是这样,对于多个实例,您可以根据绑定的端口识别您感兴趣的实例:
sudo netstat -npa |grep equinox
【讨论】:
$ pidof equinox
来自手册页:
PIDOF(8) Linux 系统管理员手册 PIDOF(8)
名称 pidof -- 查找正在运行的程序的进程 ID。
概要 pidof [-s] [-c] [-x] [-o omitpid] [-o omitpid..] 程序 [程序..]
描述 Pidof 查找指定程序的进程 ID (pid)。它打印 那些 id 在标准输出上。这个程序在一些使用的系统上 在运行级别更改脚本中,尤其是当系统具有 System-V 像rc结构。在这种情况下,这些脚本位于 /etc/rc?.d,在哪里?是运行级别。如果系统具有启停- daemon (8) 程序应该被使用。
选项
-s Single shot - 这指示程序只返回一个 pid。
-c 仅返回以相同根目录运行的进程 ID 目录。对于非 root 用户,此选项将被忽略,因为他们 将无法检查进程的当前根目录 他们不拥有。
-x 脚本 - 这会导致程序也返回进程 运行命名脚本的 shell 的 ID。
-o 省略号 告诉 pidof 忽略具有该进程 ID 的进程。特别的 pid %PPID 可以用来命名pidof的父进程 程序,也就是调用 shell 或 shell 脚本。
退出状态
0 至少找到一个具有请求名称的程序。
1 未找到具有请求名称的程序。
【讨论】: