在Ubuntu 14.04最小的OpenVZ中无法停止服务(PostgreSQL)

我试图阻止PostgreSQL,但这导致了一个奇怪的错误/proc/

 root@dw0wanydbpv14fred:~# service postgresql stop * Stopping PostgreSQL 9.3 database server * Error: /proc must be mounted <----- what ??? To mount /proc at boot you need an /etc/fstab line like: proc /proc proc defaults In the meantime, run "mount proc /proc -t proc" Error: pid file is invalid, please manually kill the stale server process. [fail] 

/proc已经挂载

 # ls -ld /proc drwxr-xr-x 33 root root 0 Aug 27 23:52 /proc 

尝试再次挂载(如错误消息所示)失败:

 # mount proc /proc -t proc mount: proc already mounted 

它实际上自动挂载:

 # cat /etc/fstab proc /proc proc defaults 0 0 none /dev/pts devpts rw,gid=5,mode=620 0 0 none /run/shm tmpfs defaults 0 0 

你有什么想法可能会发生什么? 为什么我不能停止PostgreSQL,为什么关于/proc/ ?的错误

ps作品:

 # ps PID TTY TIME CMD 508 pts/1 00:00:00 bash 591 pts/1 00:00:00 ps 

这是一个由Wable(wable.com)托pipe的OpenVZ虚拟化ubuntu-14.04-x86_64-minimal服务器。 我没有做什么比configuration区域设置为UTF-8和安装PostgreSQL: aptitude install postgresql-9.3 postgresql-contrib-9.3

这个StackOverflow的答案build议在/proc/上设置权限,但我不能相信默认权限是错误的? 我按照这个build议把/proc/的权限改为755,没有帮助。


1天后更新:根据要求提供更多详细信息:

 # ls -l /proc/meminfo -rwx--x--x 1 root root 0 Aug 31 01:03 /proc/meminfo # ls -la /proc | grep '???' # finds nothing # # uname -a Linux dw0wanydbpv14fred 2.6.32-042stab092.2 #1 SMP Tue Jul 8 10:35:55 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux 

运行ps作为另一个用户(Postgres)不起作用:(感觉很奇怪, service postgresql stop切换用户?)

 root@dw0wanydbpv14fred:~# su - postgres postgres@dw0wanydbpv14fred:~$ ps Error: /proc must be mounted To mount /proc at boot you need an /etc/fstab line like: proc /proc proc defaults In the meantime, run "mount proc /proc -t proc" 

我也创build了一个全新的用户( useradd username ),它得到了同样的错误。

dmesg什么也没说:

 # dmesg # 

var/log/syslog中没有什么有趣的东西,只有一些来自cron的无趣信息。

在运行上述命令之后,我将/proc/meminfo的读取权限授予了所有人,没有任何帮助:

 # ll -l /proc/meminfo -rwxr-xr-x 1 root root 0 Aug 31 01:13 /proc/meminfo* 

(我仍然得到相同的错误: Error: /proc must be mounted 。)

更新2:我可以像这样重现错误:

在Wable.com上创build一个新的OpenVZ ubuntu-14.04-x86_64-minimal。 然后:

 apt-get update apt-get upgrade locale-gen en_US.UTF-8 update-locale LANG=en_US.utf-8 LC_MESSAGES=POSIX apt-get install postgresql-9.3 postgresql-contrib-9.3 

之后,服务命令将失败,并显示“Error:/ proc must be mounted”(重新启动后):

 # service postgresql status 9.3/main (port 5432): online # service postgresql stop * Stopping PostgreSQL 9.3 database server * Error: /proc must be mounted To mount /proc at boot you need an /etc/fstab line like: proc /proc proc defaults In the meantime, run "mount proc /proc -t proc" Error: pid file is invalid, please manually kill the stale server process. 

我已经在主机提供商处创build了一张票。

主机提供商已经解决了这个问题。 我不知道到底是什么。 他们回答我的票:

 We found an selinux issue on the hostnode, this has been permanently correct.