系统服务如何在快照中工作

创建快照时,根据snapcraft.yaml文件的语法,可以添加daemon关键字以指定应用程序将作为系统服务运行。 作为此类声明的一个例子:

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

但是,快速成为系统服务究竟意味着什么呢? 也就是说,他们的生命周期是什么(开始,重启,停止……)? 我可以使用常用工具( pstop等)监视它们在系统中运行吗?

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

测试服务

要测试服务,必须先安装它。 安装完成后,可以使用systemd的systemctl命令查看服务是否启动并按预期运行,例如:

 systemctl status snap.. 

查找日志

journalctl命令可用于检查服务发送到stdout / stderr的消息,例如:

 journalctl -u snap.. 

服务可能会将其他数据记录到syslog( /var/log/syslog )或自定义日志目录中。 请注意,自定义日志目录必须位于服务可以写入的路径中(通常为SNAP_DATA )。

获得核心转储

要启用核心转储,您必须配置一个位置以通过sysfs写入它们。 例如,你可以使用

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

确保您的coredumps被写入/tmp目录,无论接收信号的进程的CWD在哪里。