[請益] 如何用php刪除linux系統上的process id?
我在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
推
03/28 12:51, , 1F
03/28 12:51, 1F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章