您的位置:首页 > 运维架构 > Linux

编写简单的CentOS7系统服务文件

2015-11-09 00:00 645 查看
摘要: systemctl start test_service.service

编写一个无线循环的脚本, 并且将输出写入到/var/log/helloworld.log文件中.

[root@localhost ~]# mkdir /home/zhengtong/20151109/
[root@localhost ~]# cd /home/zhengtong/20151109/
[root@localhost 20151109]# vim helloworld.sh
#!/bin/bash
# __author__ = 'zhengtong'

while [ : ]
do
echo $(date "+%Y-%m-%d %H:%M:%S") 'hello world!' >> /var/log/helloworld.log 2>&1
sleep 1
done
[root@localhost 20151109]# chmod +x helloworld.sh


编写一个系统服务文件

[root@localhost 20151109]# vim /usr/lib/systemd/system/helloworld.service
[Unit]
Description=helloworld service
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/home/zhengtong/20151109/helloworld.sh
ExecStop=/bin/kill -9 $MAINPID

[Install]
WantedBy=multi-user.target


设置成为开机自启动服务

[root@localhost 20151109]# systemctl enable helloworld


启动helloworld服务

[root@localhost 20151109]# systemctl start helloworld


观察日志信息

[root@localhost 20151109]# tail -f /var/log/helloworld.log
2015-11-09 04:01:09 hello world!
2015-11-09 04:01:10 hello world!
2015-11-09 04:01:11 hello world!
2015-11-09 04:01:12 hello world!
2015-11-09 04:01:13 hello world!
2015-11-09 04:01:14 hello world!


停止helloworld服务

[root@localhost 20151109]# systemctl stop helloworld


查看报错信息:

[root@localhost 20151109]# systemctl status helloworld


报错信息:

main process exited, code=exited, status=2/INVALIDARGUMENT
表示ExecStart写的不正确.

[emerg] 254#0: open() "xxx" failed (13: Permission denied)
表示文件没有运行权限.(chmod +x 程序文件名)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: