Php 获取特定于cron的pid

Php 获取特定于cron的pid,php,linux,cron,pid,Php,Linux,Cron,Pid,我正在开发一个系统,在这个系统中,我想创建和销毁cronjobs。 现在,当我创建以下cronjobs时,例如: 1**** /path/users.php?id=2 1**** /path/users.php?id=3 然后我想杀死第一批cronjob用户。php?id=2 我想知道是否每个cron都通过unix创建了一个特定的processid(PID),如果是这样,我如何捕获这个特定的processid 我已经尝试了echo$$命令,但是我怀疑该命令是否会生成此特定的Cron

我正在开发一个系统,在这个系统中,我想创建和销毁cronjobs。 现在,当我创建以下cronjobs时,例如:

1****    /path/users.php?id=2
1****    /path/users.php?id=3
然后我想杀死第一批cronjob用户。php?id=2 我想知道是否每个cron都通过unix创建了一个特定的processid(PID),如果是这样,我如何捕获这个特定的processid


我已经尝试了
echo$$
命令,但是我怀疑该命令是否会生成此特定的Cron PID。

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

file_put_contents("/absolute_path/cronjob_users_id_2.pid", getmypid());
这会将进程的PID写入文件中

如果脚本最终结束,您只需删除该文件:

unlink($pidfile);
试试这个

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);
    }

我通常做的是深入/proc文件系统,遍历进程目录并读取其中包含名称的文件。解决方案实际上是在我当时执行的脚本(users.php)上使用echo$$命令。我读到getmypid()函数不是杀死特定进程的正确函数。