作者GreatPig (最在乎的最难改变=.=)
看板PHP
标题[请益] 如何用php删除linux系统上的process id?
时间Wed Mar 28 11:26:23 2007
我在linux上设定了系统的crontab ,内容如下
00 07 * * * apache php /home/admin/www/test.php
使用apache的权限在每天早上7点去?动test.php,
启动後test.php会一直执行不会停止
另外,我在网页上做一个按钮,让使用者按下後可以停止正在执行的test.php
做法如下:
<?php
if(isset($_GET["submit"])){
//取得pid 放入php.txt
system("ps aux | grep -v awk | awk '/test.php/{print $2}'>/home/admin/php.txt"
);
//由php.txt读出pid
$handle=fopen("/home/admin/php.txt",r);
$kill_pid=fread($handle, filesize("/home/admin/php.txt"));
//删除pid
system('kill -9 '.$kill_pid);
}
?>
<html>
...
<input type="submit" value="停止" name="stop">
...
<html>
原本以为上述的方法可以行得通,
在crontab用apache的权限去?动test.php,而网页按下停止按钮时,权限也是用apache,
但似乎有些问题,
在system("ps aux | grep -v awk | awk '/test.php/{print $2}'>/home/admin/php.txt
");时,
就取不到pid的值了,
请问上述的方法有错吗?
或者还有其它较好的做法?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.249.16.135
1F:推 arzbar:00 07 * * * /usr/local/bin/php /home/admin/www/test.php 03/28 12:51