简介
Systemctl 是一个 systemd 工具,主要负责控制 systemd 系统和服务管理器。
使用
我们通过 yum 安装的程序,会在系统的/lib/systemd/system/目录生成一个 xxx.service 的文件。
因此,我们可以使用 systemctl 命令去启停服务,并且将服务加入开机自启。
那么如果是我们手动编译安装的服务该怎么办呢?
下面我们以 ngx 为例,编译 ngx 之后将他加入开机自启。
# 在指定目录创建nginx.service
[root@testhome ~]# cd /lib/systemd/system/
[root@testhome system]# ls |grep nginx
[root@testhome system]# vi nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/nginx
ExecReload=/usr/bin/nginx -s reload
ExecStop=/usr/bin/nginx -s quit
PrivateTmp= true
[Install]
WantedBy=multi-user.target
# 创建开机启动
[root@testhome system]# systemctl enable nginx.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
# 启动服务
[root@testhome system]# systemctl start nginx.service
[root@testhome system]# systemctl status nginx.service
● nginx.service - nginx
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-01-11 11:43:48 CST; 2s ago
Process: 4891 ExecStart=/usr/bin/nginx (code=exited, status=0/SUCCESS)
Main PID: 4892 (nginx)
Tasks: 2
Memory: 1.9M
CGroup: /system.slice/nginx.service
├─4892 nginx: master process /usr/bin/nginx
└─4893 nginx: worker process
Jan 11 11:43:48 testhome systemd[1]: Starting nginx...
Jan 11 11:43:48 testhome systemd[1]: Started nginx.
# 查看服务进程
[root@testhome system]# !ps
ps -ef |grep nginx
root 4892 1 0 11:43 ? 00:00:00 nginx: master process /usr/bin/nginx
nobody 4893 4892 0 11:43 ? 00:00:00 nginx: worker process
root 4902 3358 0 11:43 pts/3 00:00:00 grep --color=auto nginx
复制代码
评论