root以外のユーザーとして、私はさまざまなプロセス(「作成」セッションやGoogle Chromeが各タブのプロセスを開始する方法など)を開始し、プロセスツリー全体を表示するプロセスを開始できるようにしたいと思います。単位として - たとえば、このサブツリーがCPUの200%を消費するのを見たいと思います。 sudoアクセス権がありますが、使用したくありません。
私が持っている最も近いものと同等のものはありますが、systemd-run --scope
プロセスツリーやスコープ、または同等のものが見つかりませんsystemd-cgls
。また、rootとして実行する必要があるため、sudoを使用してラッパーを使用して権限を削除する必要があります。もっと良い方法がありますか?理想的にはDebian Jessieですが、必要に応じてStretchも可能です。ソリューションが単純なほど、メンテナンスの手間をかけずに複数のシステムに展開できるため、より優れています。
ベストアンサー1
次のコマンドを使用してユーザースコープグループを開始するためのルートである必要はありませんsystemd-run
。
$ systemd-run --user --scope /bin/bash
Running scope as unit run-23318.scope.
$ sleep 999 &
[1] 23369
単位を見ることができます:
$ systemctl --user status run-23318.scope
* run-23318.scope - /bin/bash
Loaded: loaded (/run/user/1000/systemd/user/run-23318.scope; static;
vendor preset: enabled)
Drop-In: /run/user/1000/systemd/user/run-23318.scope.d
`-50-Description.conf
Active: active (running) since Sun 2016-07-17 08:16:51 CEST; 10min ago
CGroup: /user.slice/user-1000.slice/[email protected]/run-23318.scope
|-23318 /bin/bash
`-23369 sleep 999
Jul 17 08:16:51 home systemd[1056]: Started /bin/bash.
Jul 17 08:16:51 home systemd[1056]: Starting /bin/bash.
そしてまた
$ systemd-cgls /user.slice/user-1000.slice/[email protected]/run-23318.scope
/user.slice/user-1000.slice/[email protected]/run-23318.scope:
|-23318 /bin/bash
`-23369 sleep 999