我正在开发一个我想创建和销毁cronjobs的系统。 现在,当我创建以下cronjobs时,例如:
1**** /path/users.php?id=2
1**** /path/users.php?id=3
然后我想杀死第一个cronjob users.php?id = 2 我想知道每个cron是否通过unix创建一个特定的processid(PID),如果是这样,我怎样才能捕获这个特定的processid?
我已经尝试了echo $$
命令,但是我怀疑这个命令会生成这个特定的Cron PID。
答案 0 :(得分:0)
如果您使用php而不是通过http直接调用脚本,则可以将其放在php脚本中:
file_put_contents("/absolute_path/cronjob_users_id_2.pid", getmypid());
这会将进程的PID写入文件中。
如果脚本最终结束,您只需删除该文件:
unlink($pidfile);
答案 1 :(得分:0)
试试这个
function remove($id)
{
$file = file(path/to/cron_file);
$content = '';
foreach( $file as $line )
{
list($url, $t_id) = explode('?id=', $line);
if( trim($t_id) != $id )
{
$content .= $line;
}
}
file_put_contents(path/to/cron_file, $content);
}