在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示,必要时还要控制后台线程中断当前操作. 以前,类似的应用会比较麻烦,需要写的代码较多,也很容易出现异常.在.net中,提供了一个组件BackgroundWorker就是专门解决这个问题的.BackgroundWorker类允许在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行…
BackgroundWorker 类允许您在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态. 如果您需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用 BackgroundWorker 类方便地解决问题. 一.BackgroundWorker 相关生命周期 1.声明BackgroundWorker 2.设置相关操作事件和属性,并开始这个对象 3.执行设置事件(DoWork事件为耗时操作,耗时操作时…
//在视图中运行操作中进行周期操作 - (void)applicationDidEnterBackground:(UIApplication *)application { [self beingBackgroundUpdateTask];   [self endBackgroundUpdateTask]; } - (void)beginBackgroundUpdateTask{ self.backgroundUpdateTask = [[UIApplication sharedApplicat…
介绍 这次 iOS7 对程序后台运行进行了加强,但是仅仅是加强而已,要想像 Android 程序那样自由当然就别想了,苹果这么做主要还是出于电池使用时间考虑,但是这次的加强对大部分程序基本够用. 在介绍之前, 我们先回顾一下在 iOS7 之前的后台运行相关的知识.在 iOS7 之前(iOS4 之后)主要有三类的应用程序能够后台运行: 音频播放 后台定位服务 IP 电话 除了这三种应用,其他程序只能是在进入后台之前向系统请求一个额外的运行时间(最长为 10 分钟),并在该时间内来进行后台运行操作,…
linux的nohup命令的用法. 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &.可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法. nohup /root/start.sh & 在shell中回车后提示: [~]…
1.后台运行jar包程序,输入:nohup java -jar /路径/程序.jar & 2.后台终止jar包程序,输入:ps -ef | grep java,查看使用java命令的进程,再输入:kill pid 即可终止运行 ------------------------------------------------------------------------------------------------------------------------- ps -ef|grep指令介…
自己写了一个python脚本,但是直接远程用putty连接后#python xxx.py执行,关闭putty脚本也随之关闭了,这里需要用到‘setsid’这个命令. #setsid python xxx.py 1 如此即可将脚本加入到后台执行 若想查看所有后台运行的进程 #ps -aux 1 这里可以看到每个进程都有一个PID,如果想杀死这个进程,则使用 #kill -9 [PID] -9 表示强迫进程立即停止…
1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这个命令放在后台执行   (2)nohup命令 功能:不挂断的运行命令   2.查看当前后台运行的命令 有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了.而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程. (1)jobs命令 功能:查看当前终端后…
centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件  nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式  发邮件命令mail 2015-4-8 第十二节课 set unset export 上半节课 history:命令历…
什么是GCD Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法.该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中.GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术. GCD和block的配合使用,可以方便地进行多线程编程. 应用举例 让我们来看一个编程场景.我们要在iPhone上做一个下载网页的功能,该功能非常简单,就是在…
1.nohup将程序以忽略挂起信号的方式运行起来 补充说明nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端.无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中.如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中.如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用.如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作…
nohup node ***.js & 这种方法可以,但存在你无法查询日志等问题 在SSH里另一个有效的方法是screen命令. [转]http://www.9usb.net/201002/linux-screen-mingling.html 作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作.也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些程序需要运行很长时间(几个小时),而程序运行过程中出现网络故障,或者客户机故障,这时候客户…
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题. 先介绍一下hangup 名称的来由 在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯.当用户 logout 时,modem 就会挂断(hang up)电话. 同理,当 modem 断开连接时,就…
*  参考:http://www.nivalxer.com/archives/187 首先,我要说明的是在iOS中,一般应用程序在后台挂起之后仅拥有3分钟时间来处理相应的未完成事件,但是3分钟之后就会被系统直接杀死:我们这时还可以再次向后台申请10分钟来处理需要处理的未完成事件,但是10分钟之后就再也不能请求道额外的时间来做事情了,然而有时候为了满足功能的需要,我们需要始终的让程序在后台运行,这时候就想到了iOS中的几种特殊的功能:1. voip技术:对于这种技术我也仅仅是知道而已,而且根据查阅…
这两天做关于离线通知的功能,总结了一点关于这方面的注意点:按Home键回到桌面后程序很快被挂起,系统将关闭程序的Socket监听,此时程序将不能继续执行网络请求等操作. 两种方式可以使程序继续存活一段时间或者继续保持运行状态: 一是在项目进入后台时开启后台任务,即在applicationDidEnterBackground中执行beginBackgroundTaskWithExpirationHandler,这种方式可以让程序获取10分钟的时间继续运行: 另一种方式是告诉系统本程序支持后台运行,…
一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行.(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼) 2:不影响计算效率 2:让程序在后台跑后,不会占据终端,我们可以用终端做别的事情. 二.怎么样使程序在后台执行 方法有很多,这里主要列举两种.假如我们有程序pso…
后台机制的不同,算是iOS 和 Android的一大区别了,最近发布的iOS7又对后台处理做了一定的更改,找时间总结一下编码上的区别,先做个记录. 先看看iOS的把,首先需要仔细阅读一下Apple的官方文档 iOS App Programming Guide中的App States and Multitasking,其中的Background Execution and Multitasking部分要仔细阅读. ios的程序有5种状态,not running,inactive, active,…
一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行.(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼) 2:不影响计算效率 2:让程序在后台跑后,不会占据终端,我们可以用终端做别的事情. 二.怎么样使程序在后台执行 方法有很多,这里主要列举两种.假如我们有程序pso…
背景: 最近在执行一些长时间程序的时候,老是一不小心忘了输入‘&’ , 结果终端就卡在那里了,很是郁闷 以前总是再新开一个终端. 今天翻看<鸟哥的linux私房菜>的时候,发现介绍vim的时候介绍了一个ctrl-z命令可以将当前的程序切到后台,很好用!可是怎么再切回去呢?搜了下,见下文: -----------转载自:http://blog.chinaunix.net/uid-10219166-id-2968756.html ----------- 以下是原文    假设你发现前台运行…
消息队列处理后台任务带来的问题 项目中经常会有后台运行任务的需求,比如发送邮件时,因为要连接邮件服务器,往往需要5-10秒甚至更长时间,如果能先给用户一个成功的提示信息,然后在后台慢慢处理发送邮件的操作,显然会有更好的用户体验. 为了实现类似的需求,Web项目中一般的实现方法是使用消息队列(Message Queue),比如MemcacheQ,RabbitMQ等等,都是很著名的产品. 消息队列说白了就是一个最简单的先进先出队列,队列的一个成员就是一段文本.正是因为消息队列实在太简单了,当拿着消息…
跟系统任务相关的几个命令:fg.bg.jobs.&.ctrl+z1. & 最经常被用到   这个用在一个命令的最后,可以把这个命令放到后台执行2. ctrl + z     可以将一个正在前台执行的命令放到后台,并且暂停3. jobs     查看当前有多少在后台运行的命令4. fg     将后台中的命令调至前台继续运行如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) 5. bg…
Linux后台运行程序 最近写的程序需要部署到Linux服务器上,按照以前的方式,在运行后面增加&,程序会切换为后台运行.但因为Linux一般是通过ssh远程登录的,等到退出当前session之后,刚才那个后台程序也会停止运行,为了解决这个问题,通过nohup命令执行后台程序. nohup ./run.bat & 然而,通过nohup执行的程序,会把输出重定向到一个nohup.out文件中,但我的程序本身已经有输出了.运行了大概10天左右,nohup.out文件已经有10G左右了. 为了去…
转载:http://hi.baidu.com/ntuxmzvdpzbnuxq/item/79131b93f606a348f0421562 我 们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题. nohup/setsid/& 场景: 如果只是临时有一个命令需要长时间运行…
App有三种状态: 1. 死亡状态(未打开App); 2. 前台运行状态(打开状态); 3. 后台暂停状态(停止所有动画, 定时器, 多媒体联网等操作) 4. 后台运行状态(后台运行); --------- 需要在AppDelegate中设置: 1.  在 - (void)applicationDidEnterBackground:(UIApplication *)application方法中 设置: - (void)applicationDidEnterBackground:(UIApplic…
安卓开机启动service后台运行 Android开机启动时会发送一个广播android.intent.action.BOOT_COMPLETED,捕捉到这个广播,然后可以进行相应的操作,比如:通过捕捉开机广播启动Activity,或者Service. 1.新建BootBroadcastReceiver类,继承BroadcastReceiver. public class BootBroadcastReceiver extends BroadcastReceiver {   private fi…
ubuntu 程序后台运行几个方法 . 程序后加上“&” ,即 “./myjob &”, 将命令放入到一个作业队列中,可以用命令“jobs” 查看 . 将1中的命令放在 “()”中, 即 “(./myjob &)”,所提交的作业并不在作业列表中,是无法通过jobs来查看的. . 使用"nohup", 即 “nohup ./myjob &”,忽略hangup信号,防止shell关闭时程序停掉. . 使用"setsid", 即“setsi…
第一部分 1.先说说iOS 应用程序5个状态: 停止运行-应用程序已经终止,或者还未启动. 不活动-应用程序处于前台但不再接收事件(例如,用户在app处于活动时锁住了设备). 活动-app处于“使用中”的状态. 后台-app不再屏幕上显示,但它仍然执行代码. 挂起-app仍然驻留内存但不再执行代码. 按下Home键时,app从活动状态转入后台,绝大部分app通常在几秒内就从后台变成了挂起. 在内存吃紧的时候,iphone会首先关闭那些挂起的app. 从 iOS 4 开始,应用就可以在退到后台后,…
一般来说, IOS很少给App后台运行的权限. 仅有的方式就是 VoIP. IOS少有的为VoIP应用提供了后台socket连接,定期唤醒并且随开机启动的权限.而这些就是IOS上实现VoIP App的关键. 苹果官方文档对于的描述就短短的一页(点击这里),很多细节没有提及. 这篇微博通过具体实现和查阅资料,补充了这些细节.并且列举出了在实现过程中可能遇到的问题, 作为参考. 博客: http://www.cnblogs.com/jhzhu 邮箱: jhzhuustc@gmail.com 作者:…
h1,h2,h3,h4,h5,h6,p,blockquote { margin: 0; padding: 0 } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif; font-size: 14px; line-height: 22px; color: #737373; background-color: white; margin: 10px…
Ctrl+z/bg/nohup/setsid/& 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: ./rsync.sh & # jobs 但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出.如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程…