【问题标题】:php script to kill shell 'sleep' processphp脚本杀死shell'sleep'进程
【发布时间】:2012-11-07 21:30:02
【问题描述】:

我需要为一些自动化工作编写一些脚本,

我在本地 apache 服务器上放了一个 php 文件 测试.php

<?php
system("bash inform.sh");
?>

inform.sh的内容是:

#!/bin/bash
proc_id=`ps -ef|grep "sleep"|grep -v "grep"|awk '{print $2}'`
kill -9 $proc_id

我在 shell 上运行睡眠进程,并在 firefox 上打开 php 页面:localhost/test.php 但它不会杀死睡眠过程, 如果我直接通过shell运行php,那么它可以工作 这有什么问题以及如何处理?谢谢

【问题讨论】:

  • 赌一百万美元是一个许可问题。 Web 服务器用户和您登录到 shell 的任何用户都具有不同的访问权限
  • 他们在同一台机器上
  • $retval = system("bash inform.sh"); $retval 是什么?
  • 是否可以更改shell用户,例如“sudo -u webserver-user sleep”
  • 关于 sudo ......也许看看 su --session-command=\"bash inform.sh\" someuser &amp; 但首先验证这是权限(特定于用户)相关。据我所知,您在共享主机上以安全模式运行 php 5.16。

标签: php shell


【解决方案1】:

我用下面的shell命令然后就OK了:

sudo -u apache sleep 2000

【讨论】:

    猜你喜欢
    • 2013-07-24
    • 2016-01-24
    • 2012-11-22
    • 2016-07-08
    • 1970-01-01
    • 2012-06-13
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多