编写系统脚本

我有一个我需要在启动时运行的进程。 它需要在机器运行的整个时间内保持运行。 截至目前,我只是在bash中输入以下内容我启动服务器。

command -f argument & disown 

我知道我需要创建一个init脚本,但我不知道如何。 经过一些研究,似乎Ubuntu使用systemd(一些引用说Upstart,它们不一样吧?)作为它的init系统。 但是我在网上发现的所有指南都告诉我将我的可执行文件放在/etc/init/etc/init.d 。 Init应该是一个完全不同的init系统。

有人可以指出我正确的方向吗? 一个示例系统脚本甚至是在线指南将是一个很大的帮助。

你需要两个文件:

  1. 你的脚本文件:

     command.sh 
  2. .service文件放在/etc/systemd/system并使用chmod 664 command.service给予644权限:

     command.service 
  3. command.service最简单的内容是:

     [Unit] Description=Some service description [Service] ExecStart=/bin/bash -c "/path/to/command.sh -f argument & disown" [Install] WantedBy=multi-user.target 
  4. 现在让它在启动时启动我们使用systemd控制器systemctl

     sudo systemctl enable command # or sudo systemctl enable command.service 

注意可以为各个部分提供更多选项,请参见此处 ,并确保您的command.sh可以使用chmod +x command.sh