如何在命令行上处理 PHP中的CTRL C? Pcntl_ *函数在Windows中不起作用.
如果你想通过命令行在PHP中运行一个需要很长时间的任务,我会尝试在徽章中组织它并跟踪已经完成的事情.

现在,您可以完全处理每个徽章(例如:进程,然后将其存储在xml文件中),而不仅仅是在处理完整个列表之后.因此,两者之间的崩溃/停止只会取消一个徽章,而不是所有徽章.

如果您在每个徽章之后存储当前位置,则可以在脚本崩溃或停止时轻松恢复.

现在,如果您检查操作系统进程列表以查看您的脚本是否正在运行,那么您可以编写一个cron作业,如果崩溃并且尚未运行,则每隔X分钟启动一次脚本.

所以,TL; DR

>处理小徽章的工作
>上次成功处理徽章的商店位置
>在开始时检查已经运行的进程
>不断启动脚本,直到所有人都开心!

除此之外,我喜欢PHP用于小型命令行作业,但如果你有这么大的任务,那么其他东西可能更适合.检查可以长时间稳定运行的东西,并有办法显示它的进度.也许是一个带有简约gui的小型C#应用程序.

Windows中的PHP CLI:处理Ctrl-C命令?的更多相关文章

  1. ios – 如何调整标签栏徽章位置?

    我在标签栏上显示徽章,但是当数字增加时,它会转到标签栏项目,如图所示我想稍微向左移动徽章视图,使其适合选定的选项卡image.i尝试如here所述,但没有运气.那么有没有办法调整徽章视图位置?任何帮助将不胜感激.解决方法我发现Kateryna的答案对于让我走上正轨非常有用,但我必须稍微更新一下:请注意,选项卡整数不是零索引,因此第一个选项卡将是数字1,第二个选项卡将是2,等等.

  2. ios – 用户通知框架徽章不会增加

    我在我的应用程序中使用UserNotification框架并发送本地通知(不是推送通知),我想将徽章设置为收到的通知数量,所以我做的是将收到的通知数设置为用户默认值然后我尝试过将值分配给徽章以获取徽章编号,但徽章编号不会增加.这是我的代码设置接收通知的值这准确地打印了收到的通知数量,当我决定将其设置为我的徽章时,它只显示1我不知道为什么价值不会每次都增加.任何帮助,将不胜感激.或者,如果可以在应用

  3. ios – 为什么标签栏项目的徽章没有更改

    我正在尝试更改标签栏项目的徽章但没有成功.我明白标签栏控制器负责控制器的标签栏.但是,标签栏本身中的某些内容可以由视图控制器(例如徽章)管理在我的代码中,我尝试在视图中加载但徽章中没有任何内容然后我试了一下:哪个不起作用,好吧,我知道为什么第二个代码不起作用,它与使用导航控制器而不是导航项更改导航控件的标题相同.但我不知道为什么第一个代码不起作用这是我的应用程序的hiechy,我在TeamsTab

  4. ios – 清除applicationIconBadgeNumber而不删除无效的通知

    解决方法使用空的本地通知间接将应用程序徽章设置为-1,但是在清除应用程序徽章计数时,它会在托盘中保留通知.Swift版本在iOS9和10上测试的方法.

  5. ios – 从客户端增加徽章数量而不是从有效负载接收计数增加

    我正在处理接收通知和设置应用程序徽章的应用程序.问题是,当应用程序处于后台状态或终止时,徽章计数不会增加.它保持不变.当应用程序在前台方法调用和徽章数量增加时.我已经从服务器端做了那件事,但我想知道有什么方法在应用程序处于后台时执行或终止以增加应用程序徽章号码?

  6. ios – 应用程序关闭时本地通知不更新徽章编号

    我注意到,当在ios设备中收到本地通知时,通知会显示在通知中心,但应用程序徽章编号在应用程序关闭时不会更新.我需要触摸通知中心中的通知,以便将本地推送消息传输到应用程序.这是正常行为吗?这可以通过使用远程推送通知来解决吗?解决方法您可以在UIlocalnotification对象中使用applicationIconBadgeNumber参数.基本上:例:但问题是,徽章编号在后续(多个)本地通知中没有增加.在这种情况下,是的…推送通知似乎是要走的路(但要注意推送通知并不总是可靠的……

  7. ios – 在Swift更新徽章柜台

    使用以下代码,我可以在应用编译后立即在徽章图标中找到:我尝试了下一个变体:初始化一个新的varbadgeCount=0及更高版本:但是当我收到新的通知,它不会更新到1.有谁知道如何解决它?

  8. ios – 在Swift中更新未选择的tabBarItem的徽章

    我有一个导航控制器与4个标签栏项目.每个人都有导航控制器.当我得到推送通知时,我想要能够更改第4个标签栏徽章号,无论在什么视图或标签中我都需要使用自动布局,因此我无法在应用程序委托中使用任何以编程方式解决的问题.我从一个视图模板启动了项目.我试图去到所需的标签,更改徽章值并回来,但当然不行.tabBarController似乎只对当前选项卡栏项目进行了引用.解决方法无需选择该索引来更新徽章值.采取

  9. IOS 10.2简单警报和徽章上的UserNotifications问题

    徽章问题我也试过在我的应用程序图标上实现了一个很好的标记,直到我试图删除它.这是执行它的功能:现在它没有增加徽章编号,因为它的名称应该建议,但它只是将徽章编号设置为1.文档说如果你将content.badge设置为0,它会删除它,但这不起作用.我尝试使用其他数字,当我手动将其更改为“2”,“3”等时……

  10. Swift-删除推送通知徽章号码?

    我试图删除图标徽章在swift,但PFInstallation似乎不再工作了。我如何做到这一点?

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部