Bagaimana layanan sistem bekerja secara cepat

9

Saat membuat snap, dan sesuai dengan sintaksis file snapcraft.yaml , daemonkata kunci dapat ditambahkan untuk menentukan bahwa aplikasi akan dijalankan sebagai layanan sistem. Sebagai contoh dari deklarasi tersebut:

apps:
  tinyproxy:
    command: ./launcher.sh
    daemon: simple
    plugs: [network,network-bind]

Namun, apa sebenarnya arti dari layanan sistem dalam sekejap? Yaitu, apa siklus hidup mereka (mulai, mulai ulang, hentikan ...)? Dapatkah saya memantau mereka berjalan di sistem dengan alat biasa ( ps, top, dll)?

David Planella
sumber

Jawaban:

8

Dari https://developer.ubuntu.com/en/snappy/build-apps/debug/

Menguji layanan

Untuk menguji layanan itu harus diinstal terlebih dahulu. Setelah diinstal, systemctlperintah systemd dapat digunakan untuk melihat apakah layanan mulai dan berjalan seperti yang diharapkan, misalnya:

systemctl status snap.<name>.<appname>

Menemukan log

The journalctlperintah dapat digunakan untuk memeriksa pesan bahwa layanan mengirim ke stdout/ stderr, misalnya:

journalctl -u snap.<name>.<appname>

Layanan dapat mencatat data tambahan ke syslog ( /var/log/syslog) atau ke direktori log khusus. Perhatikan bahwa direktori log khusus harus berada di jalur yang dapat ditulisi oleh layanan (biasanya SNAP_DATA).

Mendapatkan dump inti

Untuk mengaktifkan dump inti, Anda harus mengonfigurasi tempat untuk menuliskannya melalui sysfs. Misalnya Anda bisa menggunakan

$ echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern

untuk memastikan bahwa coredump Anda dapat ditulis ke dalam /tmpdirektori terlepas dari di mana CWDproses yang menerima sinyal.

dholbach
sumber
Terima kasih! Juga, saya mendapat tip bahwa cara mudah untuk men-debug masalah dengan layanan yang tidak dimulai adalah untuk sementara membatalkan komentar daemon: simplebaris untuk membuatnya berperilaku sebagai aplikasi biasa, dan kemudian secara manual memulai layanan "appified" sebagaisudo /snap/bin/<servicename>
David Planella
apakah mungkin untuk mengarahkan log ke file khusus, bukan jurnal?
Ankur Bhatia