個人用systemd
systemdは各ユーザーごとにユーザープロセス<ref>systemd --userとなる。
として立ち上げられているのでログイン時の起動などオートメーションに使用することができる。
特徴
- セッションごとではなくユーザーごと。複数のログインにおいて複数のsystemdが立ち上がるわけではない。
- 各ユーザーが指定する独自の定義は
~/.config/systemd/user
に入れる。 - 個人用systemdのインスタンスは
systemd --user
でシステムのものと同じように管理できる。 - もちろんcgroupsに格納されるので各種のリソース制限などを利用することができる。
- 再起動時など、プロセスが終了される場合、適切な終了プロセスを踏んだ上で処理できる。
例
Syncthing
Syncthingを立ち上げる場合。
[Unit] Description=Syncthing Personal Filesharing Cloud [Service] Type=simple ExecStart=/your/path/to/syncthing KillSignal=SIGINT TimeoutSec=45 Restart=on-failure # Hardening PrivateTmp=yes [Install] WantedBy=default.target
Freenet
Freenetを立ち上げる場合。
[Unit] Description=Freenet -- The Free Network After=network.target [Service] Type=forking ExecStart=/your/path/to/run.sh start ExecStop=/your/path/to/run.sh stop ExecReload=/your/path/to/run.sh restart KillSignal=SIGINT TimeoutSec=45 Restart=on-failure # Hardening PrivateTmp=yes [Install] WantedBy=default.target
脚注