假设我有一个主管的配置文件如下:
[program:type1_X]
command=my_program_1 X
[program:type1_Y]
command=my_program_1 Y
...
[program:type2_X]
command=my_program_2 X
[program:type2_Y]
command=my_program_2 Y
...
[group:type1]
programs=type1_X,type1_Y
[group:type2]
programs=type2_X,type2_Y
[group:type]
programs:type1_X,type1_Y,type2_X,type2_Y
因此,我要做的是定义两种类型的程序 (my_program_(X|Y)),它们使用两组不同的参数 (X&Y) 运行。然后我根据程序运行的类型 (type(X|Y)) 对程序进行分组,然后我还有另一个组 (type),其中包含上述所有定义的程序(配置文件中可能还有其他不相关的程序)。
问题在于,由于程序出现在两个不同的组中,因此主管会启动每个程序两次。所以我的问题是:有没有办法让一个程序出现在多个组中,但只启动一次(或者程序自行定义的次数(通过“numprocs”))?
编辑:真的没有人可以帮忙吗?
答案1
您可以用 shell 脚本替换该程序,该脚本将创建一个锁或信号量来启动一个或有限数量的实例。