systemdは~/.config/systemd/userにserviceファイルを置くことで、そのユーザー用のinit時の処理を動かすことができるんですね。基本的に使い方は通常と同じで、唯一違うのは--userをパラメータとして使用すること。詳細はArch Wikiを見ましょう。
このようにserviceファイルを書いたとして、
masami@kerntest:~$ cat ~/.config/systemd/user/foobar.service [Unit] Description=User's service file [Service] Type=oneshot ExecStart=/usr/bin/touch /tmp/test.txt RemainAfterExit=yes [Install] WantedBy=default.target
このように実行します。
masami@kerntest:~$ systemctl --user enable foobar Created symlink from /home/masami/.config/systemd/user/default.target.wants/foobar.service to /home/masami/.config/systemd/user/foobar.service.
再起動してstatusを確認するとちゃんと動作したのがわかります。
masami@kerntest:~$ systemctl --user status foobar ● foobar.service - User's service file Loaded: loaded (/home/masami/.config/systemd/user/foobar.service; enabled; vendor preset: enabled) Active: active (exited) since Thu 2016-05-05 11:32:14 JST; 25s ago Process: 342 ExecStart=/usr/bin/touch /tmp/test.txt (code=exited, status=0/SUCCESS) Main PID: 342 (code=exited, status=0/SUCCESS) May 05 11:32:14 kerntest systemd[336]: Starting User's service file... May 05 11:32:14 kerntest systemd[336]: Started User's service file.
ちなみに--userを付けないと~/config/systemd/userを見ないので、そんなサービスは無いって怒られます。
masami@kerntest:~$ systemctl status foobar ● foobar.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)
これは良いですね。
Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく
- 作者: 佐々木拓郎,佐藤瞬,石川修,高柳怜士,佐藤雄也,岸本勇貴
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/04/20
- メディア: Kindle版
- この商品を含むブログを見る