我的应用程序由 4 个独特的进程组成。出于 HA 的原因,我将启动每个进程的 3 个实例,以便每个进程的 2 个实例将在单个 linux 主机上运行,而另一个实例将在不同的 linux 主机上运行。我正在尝试编写一个监视脚本(bash 脚本),它会定期轮询这些进程。我的主要挑战是编写一个依赖于主机名和进程名的脚本听起来很笨拙。例如,我不想编写一个脚本来监视进程-A-1、进程-B-1、进程-A-2、进程-B-2 在具有 IP 地址 A 和进程-A-3 的 Linux 主机上IP 主机地址 B.
编写独立于主机和进程名称的监视脚本的一种方法是,当这些进程中的每一个启动时,它们都会创建一个互斥体名称。例如,process-A-1 将创建一个名为 mutex.process-A-1 的互斥体,而 process-A-2 将创建一个名为 mutex.process-A-2 的互斥体。然后脚本所要做的就是在系统上查找名为 mutex.process-A* 的互斥锁。然后该脚本可以使用 ps 命令检查这些进程是否正在运行。
我的问题是与互斥体名称耦合好吗?有没有另一种方法可以在 linux 上解决这个问题?