普通用戶添加systemctl 自定義服務的開機啓動項

1、進入/etc/systemd/system目錄,下面以redis服務爲例,首先在目錄下自定義一個redisd.service文件,內容如下

[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/home/myuser/redis-server /home/myuser/redis.conf --supervised systemd
ExecStop=/home/myuser/redis-shutdown
Type=notify
User=myuser
Group=myuser
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

2、如果你是普通用戶,則運行sudo systemctl enable redisd.service,運行完成後不出意外會提示你創建了軟連接:

Created symlink from /etc/systemd/system/multi-user.target.wants/iptvd.service to /etc/systemd/system/redisd.service.

     這一步也即是將你的服務加入自啓。

3、完成第二步之後你就可以利用sudo systemctl start redisd.service命令啓動redis服務了。

對於上面的redisd.service文件我這裏只寫了start和stop啓動項,故可以用sudo systemctl stop redisd.service來停止啓動的redis服務。還可以加一些命令如:

ExecReload=/bin/kill -s HUP $MAINPID  //重載
ExecStop=/bin/kill -s QUIT $MAINPID   //如果自定義服務沒有相對應的關閉命令,則可以用此命令代替

注意:

1、如果redisd.service文件有改動時,還需要執行一下sudo systemctl daemon-reload命令。

2、如果自定義腳本沒有啓動成功可能是配置出了問題,請參考:centos7編寫自己的服務,運行systemctl後卡住了(即shell阻塞了)

3、另外可以參考下面的文章:

https://www.cnblogs.com/wjb10000/p/5566801.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章