转自 https://segmentfault.com/a/1190000014740871
service
。systemctl command xxx.service
# 其中command可以是start、stop、restart、enable等,比如:
systemctl start httpd.service #启动Apache服务
systemctl stop httpd.service #停止Apache服务
systemctl restart httpd.service #停止Apache服务
systemctl enable mariadb.service #将MariaDB服务设为开机启动
/etc/systemd/system
(供系统管理员和用户使用),/usr/lib/systemd/system
(供发行版打包者使用),我们一般使用前者即可。[Unit]
Description=Protect ARP list
Wants=network-online.target
After=network.target
Type:服务的类型,各种类型的区别如下所示
;
分割,如需换行可以用\
。/sbin/arp
而不能简单的以环境变量直接使用arp
。[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/arp -f /etc/ip-mac
ExecReload=/sbin/arp -f /etc/ip-mac
ExecStop=/sbin/arp -d -a
/etc/ip-mac
文件中的ARP条目到ARP表中,而stop时清空ARP表。multi-user.target
[Unit]
Description=Protect ARP list
Wants=network-online.target
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/arp -f /etc/ip-mac
ExecReload=/sbin/arp -f /etc/ip-mac
ExecStop=/sbin/arp -d -a
[Install]
WantedBy=multi-user.target
/etc/init.d/
下脚本的更好方式,它可以灵活的控制你什么时候要启动服务,一般情况下也不会造成系统无法启动进入紧急模式。所以如果想设置一些开机启动的东西,可以试着写 Systemd Service。当然了,前提是你使用的Linux发行版是支持它的才行。参考资料:openSUSE:How to write a systemd service
https://wiki.ubuntu.com/systemd
https://wiki.archlinux.org/index.php/Systemd
https://fedoraproject.org/wiki/User:Johannbg/Features/SysVtoSystemd
原文:https://www.cnblogs.com/erhu-67786482/p/11570780.html