2011-12-15 4 views
1

私はPythonを使ってUbuntu上で起動するジョブの状態を判断しています。Pythonを介してdbusオブジェクトインスタンスを取得するときに環境変数を渡す

私は最近upstartジョブを変更して、インスタンススタンザがそのようになるようにしました:instance $some_var。予想どおり、私のコードはもう機能しません。

は私がしようとすると:それは私にdbus.exceptions.DBusException: org.freedesktop.DBus.Error.InvalidArgs: Unknown parameter: 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のインターフェイスにsome_var環境変数を渡す必要があります。どうすればいい? os.environに設定すると、このトリックは実行されません。

答えて

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.Startためenv引数の説明を確認してください。

関連する問題