Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
设置步骤
在/lib/systemd/system目录下新建hello.service文件
touch /lib/systemd/system/hello.service vi /lib/systemd/system/hello.service
[Unit] Description=Hello Service [Service] Type=simple ExecStart=/usr/bin/hello.sh SuccessExitStatus=2 [Install] WantedBy=multi-user.target
systemctl service 文件配置更多详细信息可参考https://www.freedesktop.org/software/systemd/man/systemd.service.html
这里注意一点,当系统服务的进程是在ExecStart的程序中完成时,选用Type=simple配置,如果ExecStart的程序有子进程在后台运行时,应该使用Type=forking配置,父进程退出时,子进程也能够在后台运行。
新建启动脚本文件hello.sh并加可执行权限
touch /usr/bin/hello.sh vi /usr/bin/hello.sh
#!/bin/bash echo "Hello World!"
chmod +x /usr/bin/hello.sh
重启systemctl系统服务和允许hello.service开机启动;
systemctl daemon-reload systemctl enable hello.service 开机启动 systemctl disable hello.service 关闭开机自启动
测试方法
重启系统
reboot
查找hello.service的状态
systemctl status hello.service
hello.service - Hello Service Loaded: loaded (/lib/systemd/system/hello.service; enabled; vendor preset: en abled) Active: inactive (dead) since Fri 2017-07-28 15:53:48 UTC; 36min ago Process: 186 ExecStart=/usr/bin/hello.sh (code=exited, status=0/SUCCESS) Main PID: 186 (code=exited, status=0/SUCCESS) Jul 28 15:53:48 phyboard-mira-imx6-3 systemd[1]: Started Hello Service. Jul 28 15:53:48 phyboard-mira-imx6-3 hello.sh[186]: Hello World!
如果要启动的是一个脚本,在status中看到说 Exec format Error,则是因为被执行的脚本没有加头部,也就是
#!/bin/bash
查看服务的打印输出
请使用journalctl,具体使用方法请查看其文档。
journalctl -f -u hello.service
Overview
Content Tools
Tasks