1

我正在使用 python 来确定 Ubuntu 上新贵工作的状态。

我最近更改了新贵工作,使其具有这样的 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 中设置它似乎没有奏效。

4

1 回答 1

0

我认为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

还要检查com.ubuntu.Upstart0_6.Job.Startenv的参数描述。

于 2012-01-31T18:32:56.470 回答