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