他の既存のシステムスコープまたはセッションでコマンドを実行するには?

他の既存のシステムスコープまたはセッションでコマンドを実行するには?

他の既存のシステムセッションまたはスコープでコマンドを実行するには?

私が知る限り、プロセスが2つのうちの1つにある限り、セッションとセッションの範囲単位の間に違いはありません。

この問題は、Gnomeの端末で実行されるコマンドですgnome-terminal-server.servicesession-xx.scope

(注:これは反対です。これ既存のプロセスの新しい範囲を作成する必要がある問題。 )

ベストアンサー1

@ガンマ関数正しい方向を指し、次のコマンドを正常に使用しました。

$ systemd-run --user --scope --unit="app-sleep" --property=Delegate=yes sleep 9999 &
$ disown
$ sleep 8888 &
$ pid=$(jobs -p)
$ busctl --user call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager AttachProcessesToUnit ssau "app-sleep.scope" / 1 "$pid"

ここssau(私の意見ではstring、、string)はarray of unsigned関数に渡されたパラメータの種類を表しAttachProcessesToUnit、この関数のドキュメントはにありますman:org.freedesktop.systemd1(5)

メモ:

  1. 接続する機器を設定する必要がありますDelegate=yes(参照man:systemd.resource-control(5))。
  2. pid配列を渡すには、pidの前に配列の長さ(上記の例では1)を渡す必要があります。

指定した範囲に接続した後、またはを介してsystemd-cgls範囲の子プロセスを表示できますsystemctl --user status app-sleep.scope

おすすめ記事