首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让在Apache中运行的Perl脚本显示Apache服务器上所有正在运行的进程的列表?

问如何让在Apache中运行的Perl脚本显示Apache服务器上所有正在运行的进程的列表?
EN

Stack Overflow用户
提问于 2014-05-08 15:29:45
回答 2查看 228关注 0票数 0

在perl脚本中,我运行以下代码

代码语言:javascript
复制
my @lines = `ps -ef`; 

目前,当我将数组输出到我的浏览器中时,我只能看到以下进程:

代码语言:javascript
复制
UID PID PPID C STIME TTY TIME CMD
root 1928 1 0 Feb18 ? 00:00:00 /usr/sbin/abrtd
apache 9198 9121 1 17:23 ? 00:00:00 /usr/bin/perl /var/www/cgi-bin/tbchecker.pl
apache 9199 9198 0 17:23 ? 00:00:00 ps -ef 

我认为问题在于apache用户需要有访问权限才能看到服务器上运行的所有进程,但不确定。

有人能帮我指出正确的方向吗?

(操作系统为Linux centos 6.4)

EN

回答 2

Stack Overflow用户

发布于 2014-05-08 15:44:13

您认为apache用户“需要访问权限才能看到服务器上运行的所有进程”的假设是错误的(在配置良好的Apache2服务器上)。

建议在具有受限权限的特殊帐户下运行apache httpd服务器进程。

如果你真的想改变这一点,并且你知道它的含义,你可以配置Apche2在根账户下运行。http://httpd.apache.org/docs/2.4/上的Apache文档是您的朋友。

票数 0
EN

Stack Overflow用户

发布于 2014-05-20 22:27:39

仍然可以在设置了SUID位的情况下以root用户身份运行perl脚本。注意,我还没有测试它是否会提供所需的输出;普通的shell脚本不能在SUID模式下运行(至少在Linux下),并且shell在执行命令之前会删除额外的特权。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23535441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档