Làm thế nào để các dịch vụ hệ thống làm việc trong snaps


9

Khi tạo một snap, và theo cú pháp của tệp snapcraft.yaml , daemontừ khóa có thể được thêm vào để xác định rằng ứng dụng sẽ được chạy như một dịch vụ hệ thống. Như một ví dụ về tuyên bố như vậy:

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

Tuy nhiên, chính xác nghĩa là một dịch vụ hệ thống trong tích tắc là gì? Đó là, vòng đời của họ là gì (bắt đầu, khởi động lại, dừng lại ...)? Tôi có thể theo dõi chúng chạy trong hệ thống với các công cụ thông thường ( ps, top, vv)?

Câu trả lời:


8

Từ https://developer.ubfox.com/en/snappy/build-apps/debug/

Kiểm tra một dịch vụ

Để kiểm tra một dịch vụ, nó phải được cài đặt trước. Sau khi được cài đặt, systemctllệnh của systemd có thể được sử dụng để xem dịch vụ có khởi động và chạy như mong đợi hay không, ví dụ:

systemctl status snap.<name>.<appname>

Tìm nhật ký

Các journalctllệnh có thể được sử dụng để kiểm tra các thông điệp mà các dịch vụ gửi tới stdout/ stderr, ví dụ:

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

Các dịch vụ có thể ghi dữ liệu bổ sung vào syslog ( /var/log/syslog) hoặc vào các thư mục nhật ký tùy chỉnh. Lưu ý rằng các thư mục nhật ký tùy chỉnh phải nằm trong một đường dẫn mà dịch vụ có thể ghi vào (thường SNAP_DATA).

Bắt một bãi chứa lõi

Để kích hoạt các bãi chứa lõi, bạn phải cấu hình một nơi để ghi chúng thông qua các sysfs. Chẳng hạn bạn có thể sử dụng

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

để đảm bảo rằng các phần tử của bạn được ghi vào /tmpthư mục bất kể CWDquá trình nhận tín hiệu ở đâu.


Cảm ơn! Ngoài ra, tôi có một mẹo rằng một cách dễ dàng để gỡ lỗi các vấn đề với dịch vụ không bắt đầu là tạm thời bỏ daemon: simpledòng để làm cho nó hoạt động như một ứng dụng thông thường, và sau đó bắt đầu thủ công dịch vụ "được ứng dụng" nhưsudo /snap/bin/<servicename>
David Planella

Có thể chuyển hướng các bản ghi vào một tệp tùy chỉnh thay vì tạp chí?
Ankur Bhatia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.