首页 > 服务器 > Ubuntu 16.04 systemctl服务脚本
作者:ghostry 发布时间:2016-10-28 浏览: 6540
转载注明出处: https://blog.1ge.fun/server/763.html不多说,放几个例子先
cat /lib/systemd/system/aria2.service
[Unit]
Description=LSB: Starts Aria2 Server
After=local-fs.target
After=remote-fs.target
After=network-online.target
Wants=network-online.target
Conflicts=shutdown.target
[Service]
Type=oneshot
Restart=no
TimeoutSec=1min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
User=momo
Group=momo
RemainAfterExit=yes
ExecStart=/mnt/data/bin/aria2.sh start
ExecStop=/mnt/data/bin/aria2.sh stop
[Install]
WantedBy=multi-user.target
Type=simple :(默认值) systemd认为该服务将立即启动。服务进程不会 fork 。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket 激活型。
cat /lib/systemd/system/xware.service
[Unit]
Description=LSB: Starts Xware Server
After=local-fs.target
After=remote-fs.target
After=network-online.target
Wants=network-online.target
Conflicts=shutdown.target
[Service]
Type=oneshot
Restart=no
TimeoutSec=2min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/mnt/data/opt/Xware1.0.31/start.sh
ExecStop=/mnt/data/opt/Xware1.0.31/start.sh -s
[Install]
WantedBy=multi-user.target
Type=forking :systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便 systemd 能够跟踪服务的主进程。
cat /lib/systemd/system/seafile-server.service
[Unit]
SourcePath=/etc/init.d/seafile-server
Description=LSB: Starts Seafile Server
After=local-fs.target
After=remote-fs.target
After=network-online.target
After=mysql.service
Wants=network-online.target
Conflicts=shutdown.target
[Service]
Type=oneshot
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/init.d/seafile-server start
ExecStop=/etc/init.d/seafile-server stop
[Install]
WantedBy=multi-user.target
Type=oneshot :这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。
Type=notify :与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。
Type=dbus :若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
Type=idle :systemd会等待所有任务处理完成后,才开始执行 idle 类型的单元。其他行为与 Type=simple 类似。
附详细解释
上一篇: 一个不错的代理软件tsocks下一篇: Ubuntu最小安装kodi/xbmc媒体中心