PostgreSQL在进程终止后无法运行

时间:2016-01-18 06:51:56

标签: java linux postgresql shell centos6

我正在用Java开发一个安装程序,它假设在Centos 6 Linux OS中自动安装PostgreSQL 9.4.5。
此外,安装(Java代码)负责为postgres创建新的系统用户,然后注册并启动PostgreSQL服务作为postgres服务:

`service "pgsql_service_name" start` 

我注意到如果使用以下方法杀死此进程:
kill -9 "pgsql_pid"它无法使用service "pgsql_service_name" start
直到删除postmaster.pid文件或reboot系统。

现在,有趣的部分是之后发生的事情:在删除postmaster.pid文件后,我这次从Linux shell 再次使用service "pgsql_service_name" start启动了Postgres服务,但这次我杀了使用kill -9 "pgsql_pid"再次处理,相同的service "pgsql_service_name" start命令已成功从shell运行并自动覆盖postmaster.pid文件。

为什么你认为从Java代码(安装程序)启动进程与从Linux shell中删除(或运行它)之间的这种不一致?
当出现此问题时,有没有比第一次删除`postmaster.pid`文件更好的解决方案?

0 个答案:

没有答案