首页 » Linux » 正文

一次由权限问题引发的systemd启动服务失败故障

操作系统:CentOS 8
pid目录:/var/run
启动类型:forking
在使用systemctl start service 启动服务的时候,无限卡住,没有任何提示,ctrl+c结束,journalctl -xe查看日志发现提示pid文件未找到,查看进程发现程序已经启动,端口也已经监听。
查看service文件内容发现为非root用户启动,更改为root启动测试发现能正常启动服务,证明是由于权限问题引发。
从日志内容看到是pid文件未找到,pid文件是程序启动后创建的运行时文件,那么表明应用启动的账户默认或者指定的pid创建目录没有权限访问或者没有权限创建新文件导致。

解决方案:

根据应用规则,更改对应pid文件创建目录,并创建相应目录后用chown命令将对应目录授权给对应的应用启动账户,之后再次执行systemctl stop service && sleep 2 &&systemctl start service命令启动
执行systemctl status service查看服务已正常启动,ss命令查看端口正常监听。

问题解决

发表评论