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)?

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.