failed because the control process exited with error code ...(code=exited, status=1/FAILURE) 的解决办法

问题概述

Linux 下启动PostgreSQL服务时,遇见的这个问题,

在修改配置后,输入指令:

[root@localhost data]# systemctl restart postgresql

重启失败,查看状态,报错,

如下图:

具体内容如下:

[root@localhost data]# systemctl restart postgresql
[root@localhost data]# systemctl stop postgresql
[root@localhost data]# systemctl status postgresql
● postgresql.service - postgreSQL Server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@localhost data]# systemctl start postgresql
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.
[root@localhost data]# systemctl status postgresql
● postgresql.service - postgreSQL Server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since 二 2024-06-11 16:24:01 CST; 1s ago
  Process: 14259 ExecStart=/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/data/logs/pgsql.log start (code=exited, status=1/FAILURE)

6月 11 16:24:01 localhost.localdomain systemd[1]: Failed to start postgreSQL Server.
6月 11 16:24:01 localhost.localdomain systemd[1]: Unit postgresql.service entered failed state.
6月 11 16:24:01 localhost.localdomain systemd[1]: postgresql.service failed.

解决办法

关于这个问题,其实很简单,

导致服务启动失败的原因,是因为PostgreSQL的进程ID冲突导致的,
因为变更了配置,PostgreSQL认为服务已变更,所以就冲突了,

只需要删除、修改 PostgreSQL安装目录,/data目录下的 postmaster.pid 即可!
入下图:

停止服务:

[root@localhost data]# systemctl stop postgresql

启动服务:

[root@localhost data]# systemctl start postgresql

查看服务状态(或直接restart,再status):

[root@localhost data]# systemctl status postgresql

启动成功后,状态为 “ active ” ,入下图:

其它补充:

PostgreSQL服务的PID是进程ID,用于标识正在运行PostgreSQL数据库服务的唯一标识符。

在操作系统中,每个进程都有一个唯一的进程ID(PID),这是系统自动分配给进程的身份标识。当程序运行时,系统会自动分配一个PID给该进程。这个PID是临时的,当进程终止后,PID会被系统回收,并可能被分配给新运行的程序。因此,PID不仅是各进程的身份标识,也是操作系统中跟踪和管理进程的重要手段。

在特定的服务中,如MySQL PostgreSQL,PID通常与服务器进程相关联。当启动PostgreSQL服务器时,会创建一个后台进程来处理客户端的连接请求和执行数据库操作。这个后台进程的进程ID就被称为PID。PID对于跟踪和管理服务进程非常重要,因为它允许操作系统和其他管理工具识别、控制和监控正在运行的服务进程。


好了,关于 failed because the control process exited with error code ...(code=exited, status=1/FAILURE) 的解决办法  就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:优快云 (Chinese Software Developer Network)
原        文:https://blog.youkuaiyun.com/Hello_World_QWP/article/details/139776015
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
根据引用\[2\]中的信息,"code=exited, status=1/FAILURE"表示启动失败的原因。根据引用\[3\]中的解决方案,你可以查询/var/log下的两个文件(/var/log/syslog和/var/log/mysql/error.log)来获取更多的错误信息。你需要切换到root用户并使用tail -f命令来实时查看这两个文件的内容。具体的步骤是先使用su root命令切换到root用户,然后输入密码,最后使用tail -f命令分别查看/var/log/syslog和/var/log/mysql/error.log文件的内容。这样你就可以获取更多关于启动失败的详细错误信息了。 #### 引用[.reference_title] - *1* [k8s kubelet 服务无法启动报 code=exited, status=1/FAILURE错误 多种原因及解决](https://blog.csdn.net/frankgy01/article/details/126081571)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [mysql启动失败 (code=exited, status=1/FAILURE)异常; Can‘t create/write to file ‘/tmp/xxx](https://blog.csdn.net/wuyuanshun/article/details/125079287)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值