我的一个爱好应用程序使用SQLite后端来存储应用程序数据.设置应用程序,以便用户可以单击典型的"检查更新"按钮,该按钮将查询Web服务以查看是否有可用的更新.如果是,则用户单击"更新"按钮并下载新数据库(通过HTTP),然后将其安装在应用程序中.此过程目前是"模态的",因为在下载和安装完成之前,用户不能在应用程序中执行任何其他操作.
我正在努力更新应用程序,我想做的一件事是让这个更新过程发生在幕后,Windows Update.当应用程序大火了,该服务将被查询,如果有可用的更新,它会自动下载,但在后台,因此用户可以继续做自己的工作.下载完成后,系统将提示用户安装更新.
我已经广泛地看着BITS,即使没有任何的API我见过的更新,以利用该技术,我已经看到了一些示例代码,我相信我可以使它发挥作用.
但是这是处理数据库"后台更新"的最佳途径,还是有其他解决方案/方法?
我需要一个应用程序在我的Web服务器上在后台运行,但我需要能够以root权限启动/停止应用程序.
为了做到这一点,我希望运行具有root权限的服务,以便它可以终止应用程序,并在需要时再次启动它.
最后,我需要能够通过Apache/PHP向服务发送start和kill命令,以便可以通过Web间接控制它.
如何创建Linux服务?
如何以这种方式与Linux服务通信?
提前致谢!
我有一个iPhone VOIP应用程序,可以应对使用BSD套接字设置的多重传输和接收(即电话会议).我希望它能够在后台响应传入的请求但是从我能理解的iOS 4文档中我只能通过将属性设置为NSStreamNetworkServiceTypeVoIP来对NSStream对象(或CFRead/WriteStream)执行此操作.这是一个问题,因为我的系统是基于UDP BSD套接字的应用程序.一切都在一个UDP套接字上接收和发送.
我是否需要重新编写我的音频发送/接收内核来处理NSStreams,还是有办法让iOS 4以类似于NSStream的方式处理我的BSD套接字?我认为这可能是一个问题,因为NSStream是基于事件的.
是否有可能检测应用程序何时进入后台并构建一个临时NSStream对象,该对象将通过相关处理传递数据然后继续正常?甚至可以创建UDP NSStream吗?
有任何想法吗?
我得到了这个常见版本的一般概念
:(){ :|:& };:
Run Code Online (Sandbox Code Playgroud)
bash fork炸弹的工作原理.
但是,我见过另一个版本(特别是针对bash)
#!/bin/bash
$0 &
$0 &
Run Code Online (Sandbox Code Playgroud)
在维基百科的叉炸弹文章和SO回答我上面提到的原始叉炸弹问题的封闭副本.
我正在寻找解释第二种(可能不常见的)叉式炸弹的工作方式.我已经用我目前对其作用的理解对下面的代码进行了评论,但我并没有真正了解它是如何以其他版本的bash fork炸弹的方式实现无限递归(可能是由于我对bash的理解不足)流程和背景).
#!/bin/bash # Specifies the location of the executable
# to use in executing this script.
$0 & # Duplicates (executes a new instance
# of) the current running process ('$0')
# (which would be the invocation of bash used
# to start running the script, right?)
# and background it ('&').
$0 & # Do the same …Run Code Online (Sandbox Code Playgroud) 我有以下执行完美但不在后台应该执行?它实际上会停止页面加载,直到它完成,这是不好的.
shell_exec("/usr/bin/php /home/public_html/pages/test/backg.php {$user_info} {$user_info2} {$user_info3} &");
Run Code Online (Sandbox Code Playgroud)
我也试过了
exec("/usr/bin/php /home/public_html/pages/test/backg.php {$user_info} {$user_info2} {$user_info3} &");
Run Code Online (Sandbox Code Playgroud)
我以为
&
意味着它会执行然后让持有页面继续吗?
我觉得在不支持UIApplication委托方法的情况下,iOS 7中引入的UIApplicationBackgroundRefreshStatusDidChangeNotification很少使用.因为,当用户为我的应用程序打开后台刷新状态时,不会通知应用程序.
这是我的通知处理程序......
- (void)applicationDidChangeBackgroundRefreshStatus:(NSNotification *)notification
{
NSLog(@"applicationDidChangeBackgroundRefreshStatus with notification info = %@ and refresh status = %d", notification, UIApplication.sharedApplication.backgroundRefreshStatus);
if (UIApplication.sharedApplication.backgroundRefreshStatus == UIBackgroundRefreshStatusAvailable) {
// if ([CLLocationManager locationServicesEnabled]) {
[self.locationManager startUpdatingLocation];
// }
}
}
Run Code Online (Sandbox Code Playgroud)
如上所述,我想在通过应用程序设置>常规>后台应用程序刷新使UIBackgroundRegreshStatus 可用时开始更新核心位置.我觉得UIApplicationDelegate中应该有一个合适的委托方法让应用知道这个变化,以便App可以重新建立它需要的一切.
要么我缺少某些东西(预先存在的API),要么Apple SDK工程师对此通知用法有其他/有限的意图.请指教.
background-process multitasking uiapplicationdelegate nsnotificationcenter ios
如何并行运行一系列命令,并将其输出存储在变量中?
我试过了:
output=`(echo -n "started "; sleep 2; echo "stopped") &`
echo "output before=$output"
wait
echo "output after=$output"
Run Code Online (Sandbox Code Playgroud)
暂停了两秒钟,接着是:
output before=started stopped
output after=started stopped
Run Code Online (Sandbox Code Playgroud)
我期望:
output before=
<2 seconds pause>
output after=started stopped
Run Code Online (Sandbox Code Playgroud)
如何在后台运行一系列命令,并将其输出存储在变量中?
我有一个Sidekiq工作人员进行一些后台处理,然后最终将成功消息POST到第三方API.我发布的这条消息本质上是一条"谢谢"消息,可以包含HTML.
在邮件中,我想以正确格式化的方式链接回我的网站.这听起来像是对我的看法.我喜欢简单地使用视图模板,将其呈现为HTML,最后将其发布到API.
对于我的生活,我无法想象如何从我的Sidekiq工作者渲染视图.
我已经考虑过设置一个虚拟控制器/视图组合并从工作者内部实例化它,但它似乎是错误的.
任何投入将不胜感激.
我有一个python代码,其中的某些部分需要在前台运行,因为它可以告知套接字连接是否正确。现在,运行该部分后,输出将写入文件。
在前台运行了确定的步骤后,有没有一种方法可以将正在运行的python代码(进程)自动从前台移到后台,以便我可以继续在终端上工作。
我知道使用screen是一种选择,但还有其他方法可以这样做。由于在前景上运行零件后,终端上将不会显示任何输出,因此我不想不必要地运行屏幕。
非常简单和常见的用例,但我找不到令人满意的答案。我有反应本机应用程序,需要在本地存储一些数据。我正在使用redux和redux-observables和Realm作为存储。
我需要的是:发生一些操作,比方说ADD_ITEM。我需要使用一些有效负载(标准Redux)更新UI。然后,我想创建/将有效负载转换为另一段数据,并将该数据(异步)保存到Realm中。无论我尝试什么,它总是滞后于UI(很多)。
我试图将领域调用包装到promise中并使用switchMap,但是它仍然很慢。
我还没有看过工作程序,但是他们只接受字符串,这对我来说有用得多。
我可以将计算完全卸载到本机后台线程,但这会非常不舒服,并且会花费很多时间。
异步可以帮助我吗?redux-saga?我觉得这是同一回事,不是真正的异步处理。
还是我为此使用完全错误的库?
const insertOrderItem = (action$) =>
action$.ofType(Action.ADD_ORDER_ITEM)
.switchMap(({ payload }) => Rx.Observable.fromPromise(
new Promise((resolve, reject) => {
storage.insert(createObject(payload)
resolve({
type: "OPERATION_ADDED"
})
})
))
Run Code Online (Sandbox Code Playgroud)
通常,将少量数据存储到领域中不会带来太多的计算量,但我觉得有必要在后台线程上进行此类工作。
我想念什么吗?
谢谢
asynchronous background-process realm react-native redux-observable
bash ×2
php ×2
asynchronous ×1
c++ ×1
exec ×1
fork ×1
ios ×1
iphone ×1
linux ×1
multitasking ×1
objective-c ×1
python ×1
react-native ×1
realm ×1
ruby ×1
service ×1
shell-exec ×1
sidekiq ×1
sockets ×1
view ×1