0

我正在开发一个我想创建和销毁 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。

4

2 回答 2

0

如果您直接使用 php 而不是通过 http 调用脚本,则可以将其放在您的 php 脚本中:

file_put_contents("/absolute_path/cronjob_users_id_2.pid", getmypid());

这会将进程的 PID 写入文件中。

如果脚本最终结束,您可以简单地删除文件:

unlink($pidfile);
于 2013-09-06T13:24:26.833 回答
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);
    }
于 2015-07-22T08:26:21.503 回答