我创建了一个服务,它执行一些数据库连接和查询。我想知道是否要启用“service xyzservice start”或“service xyzservice stop”或重新启动。我需要在 Ubuntu 中创建此服务条目吗?步骤是什么。
答案1
当您说“我创建了一个服务”时,我想知道您是指“我创建了一个 shell 脚本”还是类似的东西。因为创建服务需要编写文件.service
,而这占了执行任务的 90% 的挑战。
因此,为了回答这个问题,我假设您已经创建了一个名为的 shell 脚本query_db.sh
。下一步是创建该.service
文件,然后启用它。
创建服务的方法如下:
- 打开终端(如果尚未打开)
- 为该服务创建一个新文件。我将它命名为
query_db.service
:
笔记:您可以随意使用任何您想要的文本编辑器。本例中的使用sudo vi /etc/systemd/system/query_db.service
vi
既不是建议也不是认可。这只是一种习惯。 - 将以下内容粘贴到新文件中,并在适当的地方编辑相关值:
笔记:[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
为正确的值。如果您不确定如何配置其他项目,则可以保持不变。 - 验证脚本文件是否可执行:
sudo chmod +x /home/dheeraj/scripts/query_db.sh
- 重新加载
systemd
守护进程:sudo systemctl daemon-reload
- 启用你的守护进程:
sudo systemctl enable query_db
- 启动守护进程:
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
这就是全部内容了。