如何在 Ubuntu 中启用新添加的服务的启动/停止/重启

如何在 Ubuntu 中启用新添加的服务的启动/停止/重启

我创建了一个服务,它执行一些数据库连接和查询。我想知道是否要启用“service xyzservice start”或“service xyzservice stop”或重新启动。我需要在 Ubuntu 中创建此服务条目吗?步骤是什么。

答案1

当您说“我创建了一个服务”时,我想知道您是指“我创建了一个 shell 脚本”还是类似的东西。因为创建服务需要编写文件.service,而这占了执行任务的 90% 的挑战。

因此,为了回答这个问题,我假设您已经创建了一个名为的 shell 脚本query_db.sh。下一步是创建该.service文件,然后启用它。

创建服务的方法如下:

  1. 打开终端(如果尚未打开)
  2. 为该服务创建一个新文件。我将它命名为query_db.service
    sudo vi /etc/systemd/system/query_db.service
    
    笔记:您可以随意使用任何您想要的文本编辑器。本例中的使用vi既不是建议也不是认可。这只是一种习惯。
  3. 将以下内容粘贴到新文件中,并在适当的地方编辑相关值:
    [Unit]
    Description=Do Some Query
    
    [Service]
    User=dheeraj
    WorkingDirectory=/home/dheeraj/scripts
    ExecStart=/home/dheeraj/scripts/query_db.sh
    Type=simple
    TimeoutStopSec=10
    Restart=on-failure
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
    笔记:User确保将、WorkingDirectory和 的值更改ExecStart为正确的值。如果您不确定如何配置其他项目,则可以保持不变。
  4. 验证脚本文件是否可执行:
    sudo chmod +x /home/dheeraj/scripts/query_db.sh
    
  5. 重新加载systemd守护进程:
    sudo systemctl daemon-reload
    
  6. 启用你的守护进程:
    sudo systemctl enable query_db
    
  7. 启动守护进程:
    sudo systemctl start query_db
    

这就是全部了。现在,您可以使用以下命令检查服务状态:

sudo systemctl status query_db

当然,你可以使用以下方法停止你的服务:

sudo systemctl stop query_db

如果您更喜欢使用较短的命令,请将操作与服务名称交换:

sudo service query_db status
sudo service query_db stop

这就是全部内容了。

相关内容