编写系统脚本
我有一个我需要在启动时运行的进程。 它需要在机器运行的整个时间内保持运行。 截至目前,我只是在bash中输入以下内容我启动服务器。
command -f argument & disown
我知道我需要创建一个init脚本,但我不知道如何。 经过一些研究,似乎Ubuntu使用systemd(一些引用说Upstart,它们不一样吧?)作为它的init系统。 但是我在网上发现的所有指南都告诉我将我的可执行文件放在/etc/init
或/etc/init.d
。 Init应该是一个完全不同的init系统。
有人可以指出我正确的方向吗? 一个示例系统脚本甚至是在线指南将是一个很大的帮助。
你需要两个文件:
-
你的脚本文件:
command.sh
-
.service
文件放在/etc/systemd/system
并使用chmod 664 command.service
给予644
权限:command.service
-
command.service
最简单的内容是:[Unit] Description=Some service description [Service] ExecStart=/bin/bash -c "/path/to/command.sh -f argument & disown" [Install] WantedBy=multi-user.target
-
现在让它在启动时启动我们使用
systemd
控制器systemctl
:sudo systemctl enable command # or sudo systemctl enable command.service
注意可以为各个部分提供更多选项,请参见此处 ,并确保您的command.sh
可以使用chmod +x command.sh