Передача переменной среды при получении экземпляра объекта dbus через python - PullRequest
1 голос
/ 15 декабря 2011

Я использую python для определения статуса задания upstart в Ubuntu.

Недавно я изменил задание upstart, чтобы оно содержало раздел Instance: instance $some_var.Как и ожидалось, мой код больше не работает.

Если я попытаюсь:

path = upstart.GetJobByName("test", dbus_interface="com.ubuntu.Upstart0_6")                                         
job = bus.get_object("com.ubuntu.Upstart", path)                           
path = job.GetInstance([], dbus_interface="com.ubuntu.Upstart0_6.Job")

Мне не удается dbus.exceptions.DBusException: org.freedesktop.DBus.Error.InvalidArgs: Unknown parameter: some_var

Мне нужно передать переменную среды some_varинтерфейс dbus.Как я могу это сделать?Установка его в os.environ, похоже, не помогает.

1 Ответ

0 голосов
/ 31 января 2012

Я думаю job.GetInstance(["some_var=some_value"]) должно работать. По крайней мере, это прекрасно работает для меня:

dbus-send --print-reply --system /com/ubuntu/Upstart/jobs/tty \
          --dest=com.ubuntu.Upstart \
          com.ubuntu.Upstart0_6.Job.GetInstance array:string:"TTY=/dev/tty2"

(служба tty была определена с instance $TTY)

Также проверьте описание аргумента env для com.ubuntu.Upstart0_6.Job.Start .

...