Systemd Service - stereoboy/Study GitHub Wiki

References

RedHat Manual

Network Configuration Synchronization Points

freedesktop systemd man

Arch Linux systemd/User

Install User-Service

mkdir -p ~/.config/systemd/user
ln -s /home/wom/jylee/work/nesfr_vr_system/nesfr_vr.service ~/.config/systemd/user/nesfr_vr.service


systemctl --user daemon-reload
systemctl --user enable nesfr_vr.service
systemctl --user restart nesfr_vr.service

systemctl --user disable nesfr_vr.service
  • Logging
journalctl --user-unit nesfr_vr.service

journalctl --user-unit nesfr_vr.service -f //follow mode

Install Service

ln -s <path>/nesfr_vr.service /etc/systemd/system/nesfr_vr.service
sudo systemctl daemon-reload
sudo systemctl enable nesfr_vr.service
sudo systemctl restart nesfr_vr.service
  • Debuging
journalctl -u nesfr_vr.service -f

Anaysis using systemctl

wom@nesfr4:~$  systemctl list-dependencies -a --system halt.target 
halt.target
● ├─plymouth-halt.service
● │ └─system.slice
● │   └─-.slice
● └─systemd-halt.service
●   ├─system.slice
●   │ └─-.slice
●   ├─final.target
●   │ └─snapd.system-shutdown.service
●   │   └─system.slice
●   │     └─-.slice
●   ├─shutdown.target
●   └─umount.target

wom@wom:~$ systemctl list-dependencies -a --system halt.target 
halt.target
○ ├─plymouth-halt.service
● │ └─system.slice
● │   └─-.slice
○ ├─plymouth-switch-root-initramfs.service
● │ └─system.slice
● │   └─-.slice
○ └─systemd-halt.service
●   ├─system.slice
●   │ └─-.slice
○   ├─final.target
○   │ └─snapd.system-shutdown.service
●   │   └─system.slice
●   │     └─-.slice
○   ├─shutdown.target
○   └─umount.target

$ systemctl list-dependencies   --after  network-online.target # units network-online.target waiting for
network-online.target
● ├─NetworkManager-wait-online.service
● └─network.target
○   ├─netplan-ovs-cleanup.service
●   ├─NetworkManager.service
○   ├─systemd-networkd.service
●   ├─systemd-resolved.service
●   ├─wpa_supplicant.service
●   └─network-pre.target
●     └─ufw.service

$ systemctl list-dependencies --all  --after  network-online.target  #recursively
network-online.target
● ├─NetworkManager-wait-online.service
● │ ├─NetworkManager.service
● │ │ ├─dbus.service
● │ │ │ ├─dbus.socket
● │ │ │ │ ├─-.mount
● │ │ │ │ │ ├─-.slice
○ │ │ │ │ │ └─blockdev@dev-disk-by\x2duuid-fbe559cc\x2dae0f\x2d4d4c\x2da2c4\x2d9b15529bcc8b.target
● │ │ │ │ ├─system.slice
● │ │ │ │ │ └─-.slice
● │ │ │ │ └─sysinit.target
...

$ systemctl list-dependencies   --before  network-online.target
network-online.target
○ ├─apt-daily-upgrade.service
○ ├─apt-daily.service
● ├─cups-browsed.service
● ├─docker.service
● ├─kerneloops.service
○ ├─motd-news.service
● ├─nfs-mountd.service
● ├─nfs-server.service
○ ├─rc-local.service
● ├─rpc-statd-notify.service
● ├─rpc-statd.service
○ ├─ua-timer.service
○ ├─ubuntu-advantage.service
● ├─update-notifier-download.timer
● ├─update-notifier-motd.timer
○ ├─whoopsie.service
○ └─shutdown.target

systemd-analyze

$ systemd-analyze 
Startup finished in 17.468s (firmware) + 491ms (loader) + 2.308s (kernel) + 22.769s (userspace) = 43.037s 
graphical.target reached after 22.717s in userspace

logger as logging util for system log

$ logger -p syslog.err test
jounalctl -f
Jun 13 18:09:25 nesfr7-01 wom[6082]: test      
⚠️ **GitHub.com Fallback** ⚠️