我正在努力弄清楚如何做到这一点:我有一个php文件让我们调用trigger.php运行一些PHP代码,引发另一个我们将调用backgroundProcess.php开始处理的php文件.
虽然trigger.php需要忽略发生的事情backgroundProcess.php,但它只需要开始处理,它会在backgroundProcess.php继续运行时停止.
EDIT1
我在Windows Wampserver 2.1上运行它所以这必须是一个Windows命令.
EDIT2
由于jakenoble的建议,用以下命令解决了它:
exec("C:\wamp\bin\php\phpVERSION_NUMBER\php.exe -f C:\wamp\www\path\to\backgroundProcess.php");
Run Code Online (Sandbox Code Playgroud) 我想列出所有后台运行进程,并从一个后台服务(没有UI)获取这些进程的详细信息.详情如下:
1. Name
2. Memory usage
3. Application related to process
4. Files they are accessing
5. Last modified time of files
Run Code Online (Sandbox Code Playgroud)
我可以获得后台运行进程的列表,但是如何获取内存使用情况,他们正在访问的文件以及文件的上次修改时间.这可以在API级别实现吗?任何人都可以指导我如何做到这一点?任何人都可以给我一些想法或建议与此相关的有用链接.
我有一个启动Django Web服务器的Makefile.我希望服务器在后台启动,PID保存到文件中.
我的食谱看起来像这样:
run: venv
@"${PYTHON}" "${APP}/manage.py" runserver 80
Run Code Online (Sandbox Code Playgroud)
直观地说,要构建进程并捕获PID,我必须做这样的事情:
run: venv
@"${PYTHON}" "${APP}/manage.py" runserver 80 & ; echo "$$!" > "${LOGDIR}/django.pid"
Run Code Online (Sandbox Code Playgroud)
但这不起作用.使用时,'make'使用的子shell(在我的情况下是/ bin/sh)可以正常工作:
<command> &
Run Code Online (Sandbox Code Playgroud)
...后台进程,并在使用时工作:
<command> ; <command>
Run Code Online (Sandbox Code Playgroud)
(或<command> && <command>等等)链式命令.但是,当我尝试后台第一个进程并链接第二个进程时,我收到以下错误:
/bin/sh: -c: line 0: syntax error near unexpected token `;'
在Makefile中处理进程并捕获PID的最佳方法是什么?
谢谢
- B
在试图弄清楚为什么Capistrano任务(试图在后台启动一个守护进程)挂起之后,我发现&&在bsh 中使用bsh会阻止后续程序在后台运行.我在bash 4.1.5和4.2.20上尝试过它.
以下将sleep在bash中挂起(即等待完成):
ssh localhost "cd /tmp && nohup sleep 10 >/dev/null 2>&1 &"
Run Code Online (Sandbox Code Playgroud)
以下不会:
ssh localhost "cd /tmp ; nohup sleep 10 >/dev/null 2>&1 &"
Run Code Online (Sandbox Code Playgroud)
这也不会:
cd /tmp && nohup sleep 10 >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)
无论是什么情况,zsh和dash都会在后台执行它,无论是&&和ssh.这是bash或bug的正常/预期行为吗?
我正在上传制表符分隔的文档并在控制器中处理.一切正常,但可能需要一些时间在一个大文件上.我想把它移到delay_job,我在我的应用程序的其他地方工作,但由于这是在控制器中,不能以相同的方式调用.
表单调用process_file操作,该操作又调用salesupload操作.我应该如何将其转变为后台工作?
class SalesController < ApplicationController
def salesupload(file)
uploaded_io = file.read
numrows = "uploaded_io.size"
FasterCSV.parse(uploaded_io, {:headers => true, :col_sep =>"\t"}).each do |row_data|
full, upc, _discard, isrc = row_data[26].match(/^([^_]+)(_(.+))?/).to_a
new_record = AppleSale.new(
'provider' => row_data[0],
'provider_country' => row_data[1],
'vendor_identifier' => row_data[2]
)
new_record.save
end
end
def process_file
file = params[:apple_sale][:tsv_file]
salesupload(file)
end
end
Run Code Online (Sandbox Code Playgroud) 我正在研究如何在活动即将开始时向我们的应用添加通知.其他只是日历应用程序提供此功能,但我的研究让我感到困惑,他们如何实现这一目标.
根据Apple文档: 对于需要更多执行时间来实现的任务,您必须请求特定权限才能在后台运行它们而不会被暂停.在iOS中,只允许在后台运行特定的应用类型:
好吧,日历应用程序不是这些.如果我安排我的应用程序的本地通知定期唤醒并检查日历,这是不够的,因为我已经完成阅读.使用位置监控选项是不够的 - 如果我的用户整天坐在他/她的办公室怎么办?
显然,可以在手机旁边的其他来源添加/删除日历事件,因此在我的应用启动时设置一堆通知不是解决方案.
日历应用程序如何完成事件前通知?我有几个来自App Store的日历应用程序,他们这样做,所以我知道它可以完成.我的应用程序也需要被App Store接受,所以我不能伪造VoIP作为解决方案.
其他信息:经过更多研究后,我看到这样做的应用程序在关闭(duh)时不会更新,但它们会进行一些后台更新.我仍然不清楚如何保持我的后台进程很长时间(例如一夜之间).
我有一个我正在创建的Windows应用商店应用程序,它有一个用于后台任务的Windows运行时组件.
该解决方案建立在Visual Studio中没有问题,但在后台任务被触发时,它总是失败消息"程序'[4204] backgroundTaskHost.exe’已经与代码1(为0x1)退出".
包含后台任务的项目的引用在主项目中,我正在设置入口点,所以我不知道问题是什么.如何获得有关程序退出原因的更多信息?
我已经尝试过研究这个,但是没有发现太多听起来类似于我需要实现的东西.简而言之,我们将在客户端访问的服务器上运行ASP网站.理想情况下,我们有一个函数,我们想要在用户会话开始时初始化,并在会话结束时停止.会话发生时,此功能通过套接字通信发送和接收消息,这意味着我们需要从页面访问此类的发送/接收功能以便移动信息.最好的方法是什么?
我对iOS编程很新,现在想要实现定期后台同步,以便将我的服务器数据与客户端数据同步.我想要实现的是与Androids相当的SyncAdapter,您可以在其中定义时间间隔(例如每30分钟),系统将在后台自动触发定义的任务.
到目前为止,我找不到Swift 3.0的这种机制,所以我需要问一下somone是否有经验或一些暗示我如何实现这一目标.
我想做的事听起来很简单:
当应用程序首次启动时,应用程序应设置同步管理器,该管理器每30分钟自动触发一次后台任务.后台任务负责同步服务器和客户端数据(使用Alamofire).
我怎样才能做到这一点?
我是后台任务的新手.我有一个小作品,我正在获取推文,如果我的应用程序是在后台模式,那么它也应该提取推文,但我不知道如何.
我在Appdelegate中使用了简单的Timer didFinishLaunchOption方法.当我关闭应用程序时,它不起作用.我是新手,所以请任何建议.以下是我的代码:
Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(getTweets), userInfo: nil, repeats: true).
func getTweets() {
let locationName = Helper.sharedInstance.userDefault.value(forKey: ModelKey.currentLocation) as? String
let accessToken = Helper.sharedInstance.userDefault.value(forKey: ModelKey.twitterAccessToken) as? String
if (locationName == "Bengaluru" && nil != accessToken) || (locationName == "Bangalore" && nil != accessToken){
tweetModel.getTweets(accessToken: accessToken!, city: ModelKey.blrcitytraffic, cityName: "Bengaluru")
}
}
Run Code Online (Sandbox Code Playgroud)
文本到语音也在那里但是当我关闭应用程序然后它停止说话.如果我不使用应用程序,那么它也可以获取推文,文本到语音应该使用后台模式.这有多长时间了?