我有一套由supervisord
管理的程序。有一个程序,我们称之为myprogram
,我需要在15个实例中运行它。使用numprocs
参数很容易。
有没有办法将进程号作为命令行agrument传递给程序,以便每个实例都知道它的编号?
我需要实现与在命令行中运行相同的事情:
$ myprogram 1
$ myprogram 2
$ myprogram 3
$ myprogram 4
....
答案 0 :(得分:2)
是的,在配置中的'command'参数中,您可以使用%(process_num)d,例如
command=myprogram %(process_num)d
答案 1 :(得分:1)
你也可以使用一个环境变量: 像这样:
environment=num=%(process_num)02d
然后,您可以使用getenv()函数来获取进程号。我通常更喜欢这种方法,因为我更喜欢将参数保留给函数。