systemd的简单使用

原链接:http://community.bwbot.org/topic/160

在linux系统中,经常需要开机自动启动一些程序,长时间的在后台运行。比如网站的后台程序,数据库程序等等。这些长时间运行的程序在系统中被称之为服务。对于服务的管理操作系统中有一套很完善的管理程序。可以保证服务开机后自动启动,服务程序崩溃后自动重启。对于更复杂的有服务程序间有依赖的情况也可以轻松的处理。下面就介绍一下这个管理程序如何使用。

以Ubuntu为例,Ubuntu在16.04之前的服务管理程序是upstart,在16.04之后都换成了systemd,两者的使用方法也比较类似,从一个系统迁移到另一个系统也比较容易。下面就介绍一下systemd的简单使用方法。

比如我们想要长时间的在后台执行一个程序,这个程序的路径是
/home/oumeng/Documents/SharpLink/SharpLink/bin/Debug/SharpLink.exe
我们想要这个程序开机后自动启动,那么就可以创建一个叫做toxserver.service的文件,文件内容如下

[Unit]
Description=Tox Server Daemon
After=basic.target

[Service]
WorkingDirectory=/home/oumeng/Documents/SharpLink/SharpLink/bin/Debug
ExecStart=/home/oumeng/Documents/SharpLink/SharpLink/bin/Debug/SharpLink.exe
Restart=always

[Install]
WantedBy=basic.target

这个文件的意义也是很明确的。首先在Unit部分中Description是服务程序的介绍,After是服务程序的执行条件。basic.target是一个系统定义的Unit。包含了系统启动相关的程序。After=basic.target的含义就是开机后自动执行。

然后就是Service的部分。WorkingDirectory定义了环境目录,ExecStart就是这个服务程序的可执行文件路径。Restart是说服务崩溃的时候要不要重启。这里是设置成了Always,也就是服务要不断的重启。

最后Install部分定义了这个服务的依赖关系。我们这个例子只依赖于basic.target

这个把文件保存在/usr/lib/systemd/system文件夹内就可以了。但是默认服务是没有Enable的。需要执行一条指令Enable一下才能正常使用。

sudo systemctl enable toxserver.service

启动服务程序

sudo service toxserver start

查看服务运行状态

sudo service toxserver status

执行结果如下图
0_1487831613142_Screenshot from 2017-02-23 14-33-01.png

关闭服务

sudo service toxserver stop

禁用服务

sudo systemctl disable toxserver.service

查看服务程序的日志文件

journalctl -u toxserver

0_1487831801576_Screenshot from 2017-02-23 14-36-09.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: systemd是一个用于管理Linux系统中进程、服务、挂载点等的系统服务管理器。下面是配置systemd服务的基本步骤: 1. 创建一个`.service`文件,以描述你要管理服务。比如,创建一个名为`my_service.service`的文件。 2. 在该文件中定义服务的元数据,例如服务的名称、描述、启动类型等。 3. 在该文件中定义服务的启动脚本或命令。这可以通过`ExecStart`和`ExecStop`指令来完成。`ExecStart`指令定义了服务启动时要运行的命令或脚本,而`ExecStop`指令定义了服务停止时要运行的命令或脚本。 4. 如果需要,在该文件中定义其他选项,例如服务的运行级别、用户、组、环境变量等。 5. 将该文件保存到`/etc/systemd/system/`目录中。 6. 运行`sudo systemctl daemon-reload`命令,以重新加载systemd配置。 7. 运行`sudo systemctl start my_service`命令,以启动服务。 8. 运行`sudo systemctl status my_service`命令,以检查服务的状态。 9. 如果需要,运行`sudo systemctl enable my_service`命令,以在系统启动时自动启动服务。 注意:在配置systemd服务时,需要仔细检查和测试配置文件中的所有选项,以确保服务能够正确启动和运行。 ### 回答2: systemdLinux操作系统下的一个初始化系统服务管理器,用于控制、管理和监控系统上运行的进程。下面是关于如何配置systemd的几个步骤: 1. 编写unit文件:unit文件systemd中最重要的配置文件,用于定义和控制服务。可以使用文本编辑器创建一个新的unit文件,其中包含服务的各种配置选项。例如,可以设置服务的启动方式、运行脚本和环境变量等。 2. 定义服务:在unit文件中,可以指定需要管理服务的各种属性。例如,可以设置服务的名称、描述、依赖关系以及运行级别等。还可以定义服务的启动命令、执行脚本和工作目录等。 3. 安装和启用服务:将unit文件保存在适当的目录中,通常是/systemd/system/。然后,使用systemctl命令将服务添加到systemd服务列表中。可以使用以下命令来启用和启动服务: systemctl enable [service_name] # 启用服务 systemctl start [service_name] # 启动服务 4. 监控和管理服务使用systemctl命令可以对服务进行监控和管理。例如,可以使用以下命令来查看服务的状态、重新启动服务或停止服务: systemctl status [service_name] # 查看服务状态 systemctl restart [service_name] # 重新启动服务 systemctl stop [service_name] # 停止服务 5. 配置服务的自启动行为:使用systemctl命令可以设置服务系统启动时是否自动启动。可以使用以下命令来配置服务的自启动行为: systemctl enable [service_name] # 启用服务的自启动 systemctl disable [service_name] # 禁用服务的自启动 总之,通过编写unit文件、定义和配置服务,以及使用systemctl命令进行监控和管理,可以有效地配置和操作systemd。 ### 回答3: Systemd 是一个用于管理 Linux 系统系统服务的工具。它提供了一种更简单、更高效的方式来配置和控制系统的启动过程、管理进程、管理服务等。 要配置 systemd,首先需要了解一些基本概念和命令。以下是一些常用的配置步骤: 1. 编写服务单元文件服务单元文件是定义 systemd 服务的地方。可以使用任何文本编辑器创建一个新文件,以`.service` 扩展名结尾。在文件中定义服务的名称、描述、要执行的命令等。 2. 配置服务单元文件:在服务单元文件中,可以指定服务的各种属性,如服务名称、描述、启动类型、执行命令、依赖关系等。 3. 启用和启动服务使用 `systemctl enable <service-name>` 命令可以将服务设置为开机启动。使用 `systemctl start <service-name>` 命令可以立即启动服务。 4. 监控服务状态:使用 `systemctl status <service-name>` 命令可以查看服务的当前状态,包括是否正在运行、最后一次运行时间等。 5. 重新加载配置:如果修改了服务单元文件,可以使用 `systemctl reload <service-name>` 命令重新加载服务的配置。 6. 停止和禁用服务使用 `systemctl stop <service-name>` 命令可以停止服务的运行。使用 `systemctl disable <service-name>` 命令可以禁用服务的开机启动。 7. 查看服务日志:使用 `journalctl -u <service-name>` 命令可以查看特定服务的日志信息。这些信息可以用于故障排除和调试。 以上只是 systemd 配置的基本步骤,还有更高级的配置选项和命令可以帮助进一步管理和优化系统。了解这些配置选项和命令的详细说明和用法,可以参考 systemd 的官方文档或其他相关资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值