1

pythonを使用して、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 に設定してもうまくいかないようです。

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 に答える