标签: background-process

BITS仍然是一个很好的后台更新技术吗?

我的一个爱好应用程序使用SQLite后端来存储应用程序数据.设置应用程序,以便用户可以单击典型的"检查更新"按钮,该按钮将查询Web服务以查看是否有可用的更新.如果是,则用户单击"更新"按钮并下载新数据库(通过HTTP),然后将其安装在应用程序中.此过程目前是"模态的",因为在下载和安装完成之前,用户不能在应用程序中执行任何其他操作.

我正在努力更新应用程序,我想做的一件事是让这个更新过程发生在幕后,Windows Update.当应用程序大火了,该服务将被查询,如果有可用的更新,它会自动下载,但在后台,因此用户可以继续做自己的工作.下载完成后,系统将提示用户安装更新.

我已经广泛地看着BITS,即使没有任何的API我见过的更新,以利用该技术,我已经看到了一些示例代码,我相信我可以使它发挥作用.

但是这是处理数据库"后台更新"的最佳途径,还是有其他解决方案/方法?

background-process microsoft-bits

4
推荐指数
1
解决办法
338
查看次数

如何制作一个通过Web服务器接受命令的Linux服务?

我需要一个应用程序在我的Web服务器上在后台运行,但我需要能够以root权限启动/停止应用程序.

为了做到这一点,我希望运行具有root权限的服务,以便它可以终止应用程序,并在需要时再次启动它.

最后,我需要能够通过Apache/PHP向服务发送start和kill命令,以便可以通过Web间接控制它.

如何创建Linux服务?
如何以这种方式与Linux服务通信?

提前致谢!

php linux service background-process background-service

4
推荐指数
1
解决办法
3560
查看次数

iOS 4 VOIP应用程序在后台响应

我有一个iPhone VOIP应用程序,可以应对使用BSD套接字设置的多重传输和接收(即电话会议).我希望它能够在后台响应传入的请求但是从我能理解的iOS 4文档中我只能通过将属性设置为NSStreamNetworkServiceTypeVoIP来对NSStream对象(或CFRead/WriteStream)执行此操作.这是一个问题,因为我的系统是基于UDP BSD套接字的应用程序.一切都在一个UDP套接字上接收和发送.

我是否需要重新编写我的音频发送/接收内核来处理NSStreams,还是有办法让iOS 4以类似于NSStream的方式处理我的BSD套接字?我认为这可能是一个问题,因为NSStream是基于事件的.

是否有可能检测应用程序何时进入后台并构建一个临时NSStream对象,该对象将通过相关处理传递数据然后继续正常?甚至可以创建UDP NSStream吗?

有任何想法吗?

c++ sockets iphone objective-c background-process

4
推荐指数
1
解决办法
2606
查看次数

这个其他版本的bash fork炸弹是如何工作的?

我得到了这个常见版本的一般概念

:(){ :|:& };:
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)

bash fork background-process

4
推荐指数
1
解决办法
1466
查看次数

shell_exec没有在后台运行?

我有以下执行完美但不在后台应该执行?它实际上会停止页面加载,直到它完成,这是不好的.

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)

我以为

&

意味着它会执行然后让持有页面继续吗?

php exec shell-exec background-process

4
推荐指数
1
解决办法
4963
查看次数

UIApplicationBackgroundRefreshStatusDidChangeNotification用法没有相应的委托方法

我觉得在不支持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

4
推荐指数
2
解决办法
3414
查看次数

bash:在后台运行多个命令,将输出存储在变量中

如何并行运行一系列命令,并将其输出存储在变量中?

我试过了:

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)

如何在后台运行一系列命令,并将其输出存储在变量中?

bash background-process

4
推荐指数
1
解决办法
2924
查看次数

从Sidekiq Worker中渲染Rails视图

我有一个Sidekiq工作人员进行一些后台处理,然后最终将成功消息POST到第三方API.我发布的这条消息本质上是一条"谢谢"消息,可以包含HTML.

在邮件中,我想以正确格式化的方式链接回我的网站.这听起来像是对我的看法.我喜欢简单地使用视图模板,将其呈现为HTML,最后将其发布到API.

对于我的生活,我无法想象如何从我的Sidekiq工作者渲染视图.

我已经考虑过设置一个虚拟控制器/视图组合并从工作者内部实例化它,但它似乎是错误的.

任何投入将不胜感激.

ruby ruby-on-rails view background-process sidekiq

4
推荐指数
1
解决办法
2242
查看次数

在运行python代码后将其移至后台

我有一个python代码,其中的某些部分需要在前台运行,因为它可以告知套接字连接是否正确。现在,运行该部分后,输出将写入文件。

在前台运行了确定的步骤后,有没有一种方法可以将正在运行的python代码(进程)自动从前台移到后台,以便我可以继续在终端上工作。

我知道使用screen是一种选择,但还有其他方法可以这样做。由于在前景上运行零件后,终端上将不会显示任何输出,因此我不想不必要地运行屏幕。

python background-process

4
推荐指数
1
解决办法
1462
查看次数

React Native计算繁重的任务

非常简单和常见的用例,但我找不到令人满意的答案。我有反应本机应用程序,需要在本地存储一些数据。我正在使用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

4
推荐指数
2
解决办法
1773
查看次数