获得cron特定的pid

时间:2013-09-06 07:12:25

标签: php linux cron pid

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

2 个答案:

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