我正在 Ubuntu 12.04 服务器上设置监督。其中一项检查旨在确保某些进程正常运行。
基本上,它运行ps -aux
并检查给定的进程是否存在。
不幸的是,在 Ubuntu 上ps
只会显示当前用户的进程。我的监管系统当然不会以 root 用户身份运行。
有什么方法可以实现这个吗?
(除了以 root 身份设置 cron 作业,转储ps -aux
到临时文件 :D)
编辑
实际上,该问题仅发生在 12.04 机器上(ps -aux
在 14.04 上正常运行)。
有什么办法可以修复此问题?服务器将很快升级,但暑假不是升级的最佳时机 :)
答案1
好的,那麼...!
这个“进程沙盒功能”似乎只在 12.04 上出现。
绕过此问题的一种方法是允许预期用户ps
以 sudo 身份运行:
编辑/etc/sudoers
:
accountname ALL = NOPASSWD: /bin/ps
然后使用sudo ps -aux
而不是ps -aux
。