bea*_*mit 116 systemd services
我正在开发一个 Nodejs 应用程序,用户通过 localhost 上的 HTTP 与之交互。几乎没有参数,守护进程几乎没有依赖关系,它只需要在登录时启动。
我想按照每个平台上的习惯用法来启动脚本,这意味着 Ubuntu 上的 Upstart 和 Fedora 上的 systemd。
我找到了这些资源:
我主要是在寻找各种 API 作为参考,以及要遵循的基本格式。
nec*_*cer 192
以下示例受此链接的启发,该链接实际上并未提及所有步骤,仅列出来源:http : //patrakov.blogspot.com/2011/01/writing-systemd-service-files.html
第 1 步:我创建了这个文件(注意位置),它本质上是用一个扩展参数触发一个 bash 进程。您可以触发自己的命令,该命令可能与 bash 不同。
[root@y500-fedora ~]# cat /etc/systemd/system/foo.service
[Unit]
Description=foo
[Service]
ExecStart=/bin/bash -c "while true; do /bin/inotifywait -qq --event close_write /sys/class/backlight/acpi_video0/brightness; su myusername -c '/bin/xbacklight -display :0 -set $(cat /sys/class/backlight/acpi_video0/brightness)'; done"
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
第 2 步:
重新加载systemd:
systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)
启动新服务:
systemctl enable foo
Run Code Online (Sandbox Code Playgroud)
(同样你可以disable)
(可选)第 3 步:它应该在下次重新启动到多用户模式(运行级别 3)时自动启动,但如果您想立即启动它:
systemctl start foo
systemctl status foo # optional, just to verify
Run Code Online (Sandbox Code Playgroud)
更新:为了完整起见,我应该补充一点,ubuntu 仿生似乎有一个非常详尽的手册页。RTFM在这里
jas*_*yan 26
我将从Systemd 手册页开始。它们代表了系统和服务的综合资源。
Redhat 文档是一个很好的来源。
| 归档时间: |
|
| 查看次数: |
177925 次 |
| 最近记录: |