posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
查看系统进程运行状态,包括服务
systemctl status
所有可用的单元文件存放在 /lib/systemd/system/ 和 /etc/systemd/system/ 目录。
根据我的实验情况是我们应该在/lib/systemd/system/ 下存放.service文件,当设置了自启动后,会自动在 /etc/systemd/system/ 下创建一个软链接指向 /lib/systemd/system/ 下的文件。
查看所有已安装服务:
systemctl list-units --type=service
通过服务状态可以查看启动服务的.service配置文件
例如
service mongodb status
可以看到
/lib/systemd/system/mongodb.service
最重要的,运行命令,
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
PS:要注意的是ExecStart指定的是一个阻塞的程序,不需要后台执行,如果不阻塞,服务会认为程序执行完了,认为服务不在启动状态。
以Kafka为例
[Unit] Description=Kafka Server After=network.target zookeeper.service [Service] Type=simple ExecStart=/opt/kafka_2.12-2.3.1/bin/kafka-server-start.sh /opt/kafka_2.12-2.3.1/config/server.properties Restart=on-failure RestartPreventExitStatus=255 [Install] WantedBy=multi-user.target Alias=kafka.service
详细的.service文件编写方法可以参考 http://www.jinbuguo.com/systemd/systemd.service.html
修改服务配置文件后需要
systemctl daemon-reload
设置服务开机自启动
systemctl enable postgresql.service
查询是否自启动服务
systemctl is-enabled postgresql.service
取消服务器开机自启动
systemctl disable postgresql.service
只有注册用户登录后才能发表评论。