2

我一直在寻找,找不到明确的东西,至少对我来说

我制作了一份时事通讯并用邮件脚本发送

由于它有很多电子邮件,我说 ignore_user-abort 并让它在我关闭浏览器的情况下发送电子邮件

现在我想检查进度,我的意思是,如果它已完成所有电子邮件

我知道有诸如 posix_kill 和 getpid 之类的函数,但我不知道它们是否适合使用 getpid 给我 id 但我怎么知道正在运行的脚本的名称?也许另一个我不知道的脚本正在运行

多谢

4

1 回答 1

0

尝试以下操作:

在脚本开始发送电子邮件之前,通过示例 emails.log 创建一个文件,当脚本完成后,将其删除,当脚本再次启动时询问是否存在,如果存在则杀死脚本,我看到的唯一问题是如果脚本意外终止或页面超时 文件不会被删除 为避免这种情况,您可以在服务器中创建一个 cronjob 并配置为每天、每周或任何您想要的运行它,shell 脚本将如下所示:

时事通讯.sh

#!/bin/bash
if [ ! -f /tmp/newsletter.log ]
then
    touch /tmp/newsletter.log
    php /var/www/newsletter.php >> /dev/null
    rm /tmp/newsletter.log
fi

祝你好运!

于 2013-06-11T09:18:56.263 回答