Se log fra systemd user unit, hvordan hænger det sammen?
Hej alle,
Jeg starter emacs dæmon med en systemd unit fil.
Dvs jeg har filen
Jeg starter emacs med
og kan se på loggen
Normal kan man se logs for individuelle units med
I stedet kan jeg finde PID fra:
og så slå PID op:
Det viser sig at jeg også kan skrive
Er der nogle der kan forklare hvordan
Og relateret:
Hvordan bruger du
Hilsen
Paw
Jeg starter emacs dæmon med en systemd unit fil.
Dvs jeg har filen
~/.config/systemd/user/emacs.service
.Jeg starter emacs med
systemctl start --user emacs.service
og kan se på loggen
journalctrl
at emacs starter
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: http://bugzilla.gnome.org/show_bug
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Emacs might crash when run in daem
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Using an Emacs configured with --w
osv
Normal kan man se logs for individuelle units med
journalctl -u unit
, men journalctl -u emacs
virker ikke.I stedet kan jeg finde PID fra:
systemctl --user status emacs
● emacs.service - Emacs: the extensible, self-documenting text editor
Loaded: loaded (/home/paw/.config/systemd/user/emacs.service; enabled; vendor
Active: active (running) since Thu 2016-09-22 13:25:57 CEST; 10min ago
Process: 22532 ExecStop=/usr/bin/emacsclient --eval (kill-emacs) (code=exited,
Process: 23002 ExecStart=/usr/bin/emacs --daemon (code=exited, status=0/SUCCES
Main PID: 23003 (emacs)
CGroup: /user.slice/user-1000.slice/user@1000.service/emacs.service
├─23003 /usr/bin/emacs --daemon
└─23020 /usr/bin/aspell -a -m -B --encoding=utf-8 --sug-mode=ultra
og så slå PID op:
journalctl _PID=23002
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: http://bugzilla.gnome.org/show_bug
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Emacs might crash when run in daem
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Using an Emacs configured with --w
osv
Det viser sig at jeg også kan skrive
journalctl _COMM=emacs
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: http://bugzilla.gnome.org/show_bug
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Emacs might crash when run in daem
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Using an Emacs configured with --w
osv
Er der nogle der kan forklare hvordan
journalctl
virker præcist? Hvorfor kan jeg i nogle tilfælde bruge journalctl -u unit
og i andre journalctl _COMM=unit
. Hvad er forskellen og hvornår skal jeg bruge hvad?Og relateret:
Hvordan bruger du
systemctl
og journalctl
?Hilsen
Paw
Kommentarer3
Er der nogle der kan
Det er et rimeligt stort spørgsmål, og du ser jo ud til allerede at være godt igang. Har du læst DigitalOcean's oplysninger om systemctl og journalctl, inklusiv afsnittet Next Steps nederst på siden?
https://www.digitalocean.com/community/tutorials/systemd-essentials-wor…
Jeg har ikke emacs installeret, men hvis jeg skal bruge info om f.eks. cron.service, så kan det være: journalctl -b -u cron.service
Derfor ved jeg ikke om der er forskel på emacs versionerne i henhold til:
administrator@hp-probook ~ $ emacs
Programmet "emacs" kan findes i de følgende pakker:
* emacs24
* emacs24-nox
* e3
* emacs24-lucid
* jove
Prøv: sudo apt install < valgt pakke >
administrator@hp-probook ~ $
Jeg har selv lavet
Forskellen synes at være når unit filer køres med
--user
flaget. Jeg har lavet flere unit filer der kører som root, her kan jeg se loggen medjournalctl -u unit
som forventet.Jeg er bare overrasket over at der ser ud til at være en vis inkonsistens. Også fx.
journalctl -u ssh
journalctl _COMM=sshd
giver næsten det samme, uden jeg helt forstår forskellen. Jeg ville have forventet at
journalctl -u sshd
var det rigtige.Desuden skal man gøre følgende for at gemme journaler mellem boots.:
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
Arhh.
Jeg har overset det i
Jeg har overset det i manualen flere gange...
Det er bare
journalctl --user-unit emacs
DOH :)