Type=dbus:当前服务通过D-Bus启动 Type=notify:当前服务启动完毕,会通知Systemd,再继续往下执行 Type=idle:若有其他任务执行完毕,当前服务才会运行 ExecStart:启动当前服务的命令 ExecStartPre:启动当前服务之前执行的命令 ExecStartPost:启动当前服务之后执行的命令 ...
(1) Service Type: 服务类型,包含以下类型: simple: 默认类型,系统将ExecStart对应的命令作为主进程; forking: 服务启动时会有两个进程,一个是主进程会在启动之后退出;另一个是子进程对应ExecStart的配置,会在启动之后变成主进程; Oneshot: 与simple类型,但是执行完成之后就退出; 此外,还有dbus、notify和idle类型。
Type:定义服务启动时的行为。例如,simple(默认值,立即启动)、forking(传统的UNIX服务启动方式,父进程会立即退出,子进程继续运行)、oneshot(用于只执行一次然后退出的任务)、dbus(等待D-Bus信号)、notify(等待通知)和idle(等待其他任务都完成后才启动)。 ExecStart:定义启动服务时要运行的命令和参数。可以是一个完整...
具体说来,对于 Type=simple 或 Type=idle 就是主进程已经成功启动;对于 Type=oneshot 来说就是主进程已经成功退出; 对于Type=forking 来说就是初始进程已经成功退出;对于 Type=notify 来说就是已经发送了"READY=1"; 对于Type=dbus 来说就是已经取得了 BusName= 中设置的总线名称。 注意,不可将 ExecStartPre...
Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。 Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。 PIDFile : pid文件路径 ExecStart:启动 ...
Type:定义启动类型。可设置:simple,exec,forking,oneshot,dbus,notify,idle。 simple:ExecStart 字段启动的进程为该服务的主进程; forking:ExecStart 字段的命令将以 fork() 方式启动,此时父进程将会退出,子进程将成为主进程; ExecStart:定义启动进程时执行的命令; ...
[Service]#Type指定服务的启动类型,必须为simple, exec, forking, oneshot, dbus, notify, idle 之一。常用simple和forking。# simple(默认值):ExecStart启动的进程为该服务主进程。# exec:exec与simple类似,不同之处在于,只有在该服务的主服务进程执行完成之后,systemd才会认为该服务启动完成。 其他后继单元必须...
dbus:也和simple很相似,该配置期待或设置一个name值,通过设置BusName=设置name即可。 notify:同样地,与simple相似的配置。顾名思义,该设置会在守护进程启动的时候发送推送消息。 其实常用的就是simple和forking了。一般来说我们的程序是应用程序前台使用就用simple,后台/守护进程一般是forking。
dbus:这个程序启动时需要获取一块 DBus 空间,所以需要和 BusName= 一起用。只有它成功获得了 DBus 空间,依赖它的程序才会被启动。 ExecStart:在输入的命令是start时候执行的命令,这里的命令启动的程序必须使用绝对路径,比如你必须用/sbin/arp而不能简单的以环境变量直接使用arp。
设置了 Type=dbus 的服务会自动添加 Requires=dbus.socket 与 After=dbus.socket 依赖 基于套接字激活的服务会自动添加对与其相关的 .socket 单元的 After= 依赖。 除非明确设置了 DefaultDependencies=false,否则 service 单元都自动隐含如下依赖: Requires=sysinit.target After=sysinit.target After=basic.target Conf...