CN104572167B - 启动和管理无人参与的应用程序的方法和计算机*** - Google Patents

启动和管理无人参与的应用程序的方法和计算机*** Download PDF

Info

Publication number
CN104572167B
CN104572167B CN201410444546.6A CN201410444546A CN104572167B CN 104572167 B CN104572167 B CN 104572167B CN 201410444546 A CN201410444546 A CN 201410444546A CN 104572167 B CN104572167 B CN 104572167B
Authority
CN
China
Prior art keywords
application program
indicator
started
response
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410444546.6A
Other languages
English (en)
Other versions
CN104572167A (zh
Inventor
李永亮
A·T·阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104572167A publication Critical patent/CN104572167A/zh
Application granted granted Critical
Publication of CN104572167B publication Critical patent/CN104572167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种启动和管理无人参与的应用程序的方法和计算机***。提供用于启动和管理无人参与的应用程序的技术。以后台模式启动所述应用程序。响应于确定接收到退出命令,设置退出命令指示符以指示接收到所述退出命令,并且发送通知以唤醒所启动的应用程序的被阻塞主线程。

Description

启动和管理无人参与的应用程序的方法和计算机***
技术领域
本发明的实施例涉及启动和管理无人参与的应用程序,例如内容管理应用程序。
背景技术
可以将定制的内容管理应用程序描述为存储和管理各种类型的数字化内容,例如与商业组织或机构的业务过程相关的文档图像、电子办公文档、可扩展标记语言(XML)文档、音频和视频。内容管理应用程序可以是短时间运行的应用程序或长时间运行的应用程序。常规***将定制的内容管理应用程序实现为服务或守护进程。(Windows是微软公司在美国和/或其它国家的注册商标。UNIX是开放群组在美国和/或其它国家的注册商标。)但是,使用此类实现,需要后台模式中的按需执行,并且引导时执行并不适合。此外,使用此类实现,可能需要额外的C编程以便编写服务或守护进程。
此外,在用户从前台控制台会话注销之后,命令(例如,“&”和“nohup”)中的典型后台模式处理将终止后台进程。
发明内容
提供一种用于启动和管理无人参与的应用程序的方法。以后台模式启动所述应用程序。响应于确定接收到退出命令,设置退出命令指示符以指示已接收到所述退出命令,以及发送通知以唤醒所启动的应用程序的被阻塞主线程。
提供一种用于启动和管理无人参与的应用程序的计算机程序产品。所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质其上包含程序代码,所述程序代码可由至少一个处理器执行以便执行以下操作:以后台模式启动应用程序;以及响应于确定接收到退出命令,设置退出命令指示符以指示已接收到所述退出命令;以及发送通知以唤醒所启动的应用程序的被阻塞主线程。
提供一种用于启动和管理无人参与的应用程序的计算机***。所述计算机***包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读有形存储设备;以及程序指令,所述程序指令存储在所述一个或多个计算机可读有形存储设备中的至少一个上,以便经由所述一个或多个存储器中的至少一个而由所述一个或多个处理器中的至少一个执行,从而执行操作,所述操作包括:以后台模式启动应用程序;响应于确定接收到退出命令,设置退出命令指示符以指示已接收到所述退出命令;以及发送通知以唤醒所启动的应用程序的被阻塞主线程。
附图说明
在附图中,相同的参考标号表示对应的部件,这些附图是:
图1以框图示出根据某些实施例的计算环境;
图2以框图示出根据某些实施例的应用程序;
图3示出根据某些实施例的前台模式和后台模式处理的概览图;
图4以流程图示出根据某些实施例的用于使用实用工具的操作;
图5A和5B以流程图示出根据某些实施例的用于检查终止指示符和设置退出命令指示符的操作;
图6以流程图示出根据某些实施例的由阻塞机制执行的操作;
图7以框图示出根据某些实施例的可以使用的计算机体系架构。
具体实施方式
出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将是显而易见的。在此使用的术语的选择,旨在最佳地解释实施例的原理、实际应用或对市场中的技术的技术改进,或者使所属技术领域的其它普通技术人员能够理解在此公开的实施例。
图1以框图示出根据某些实施例的计算环境。计算设备100包括启动控制器110、启动监视器120、退出控制器130和一个或多个应用程序140。计算设备100耦合到数据存储库150。数据存储库150存储一个或多个应用程序140中的每一个的标识信息和状态信息160。在某些实施例中,状态信息包括每个所启动的应用程序140的终止指示符162。
在某些实施例中,将终止指示符162(例如,标志或位)设置为真以指示已接收到退出命令并且将终止所启动的应用程序,或者设置为假以指示未接收到退出命令并且将不终止所启动的应用程序。在某些实施例中,响应于用户发出退出命令以终止所启动的应用程序,退出控制器130将所启动的应用程序的终止指示符162设置为真以便指示已接收到退出命令。
在某些实施例中,一个或多个应用程序140包括至少一个定制的内容管理应用程序。在某些实施例中,一个或多个应用程序140包括至少一个应用程序。(Java是甲骨文公司在美国和/或其它国家的注册商标。)在某些实施例中,数据存储库150是永久性数据存储库。可以将永久性数据存储库描述为永久保存数据的存储器。在某些实施例中,使用Preferences应用编程接口(API)作为永久性数据存储库。PreferencesAPI将数据保存在平台上的注册表中,并且将数据保存在平台上的用户目录中。
各实施例提供一种以后台模式(无人参与的模式)运行应用程序(例如,定制的内容管理应用程序)的方式。可以将以后台模式运行应用程序描述为在没有人关注的情况下运行。此外,即使当登录用户从平台上的终端会话注销或者用户从平台上的命令控制台退出时,应用程序也继续以后台模式运行。相反,在前台模式中,在登录用户从平台上的终端会话注销或者用户从平台上的命令控制台退出之后,应用程序将被终止。
各实施例提供一种用于管理无人参与的应用程序的技术。各实施例允许以后台模式启动和管理无人参与的应用程序。各实施例提供:
(1)启用工具包,其启用应用程序的无人参与的后台处理;以及
(2)一组实用工具,其以后台模式管理应用程序的启动、终止和状态跟踪。
图2以框图示出根据某些实施例的应用程序140。应用程序140包括退出命令指示符200,其是全局变量。检查机制210和阻塞机制230可以访问退出命令指示符200。在某些实施例中,将退出命令指示符200设置为真以指示已接收到退出命令,并且设置为假以指示未接收到退出命令。
为了启用无人参与的模式,应用程序140在原始应用程序逻辑220之前引入检查机制210,并且在原始应用程序逻辑220之后引入阻塞机制230。这避免需要额外的C编程和shell脚本编写。在某些实施例中,这是实现,其还增强在各种平台之间的可移植性以及应用程序的可维护性。在某些实施例中,尽管可以在应用程序中按顺序调用块210、220和230,但它们在启动之后作为单独的执行线程运行。
启用工具包包括以下元素的实现(例如,实现):
●检查机制210,其用于检查存储在数据存储库150中的终止指示符162以便判定退出控制器130是否接收到退出命令。一旦接收到退出命令,检查机制210就设置退出命令指示符200(例如,标志或位)以指示接收到退出命令。然后,发送通知以唤醒所启动的应用程序的被阻塞主线程。
●阻塞机制230,其用于在设置了退出命令指示符200以指示未接收到退出命令的情况下,阻塞所启动的应用程序的主线程。如果设置了退出命令指示符200以指示接收到退出命令,则当接收到通知以便唤醒线程时,阻塞机制230终止所启动的应用程序。
●数据存储库150,其用于存储每个所启动的应用程序的标识符信息(例如,进程标识符(ID))和其它状态信息。
在某些实施例中,所启动的应用程序是主线程,检查机制210是主线程的子线程,原始应用程序逻辑220是主线程的另一个子线程,阻塞机制230是原始应用程序逻辑220的主线程的例程。
以下实用工具支持以后台模式运行的应用程序的启动、终止和状态检查:
●启动控制器110是启动应用程序(其引入检查机制210和阻塞机制230)的实用工具。在启动应用程序之后,应用程序以后台模式运行。
●启动监视器120是通过在图形用户界面(GUI)中显示所启动的应用程序的进程ID并且可能显示其它信息(例如,启动应用程序的用户的用户ID、启动应用程序的开始时间等)而提供状态跟踪能力的实用工具。
●退出控制器130是终止通过启动控制器110启动的应用程序的实用工具。
图3示出根据某些实施例的前台和后台处理的概览图。在图3中,启动控制器110、启动监视器120和退出控制器130在前台运行,而应用程序A、B和C 140在后台运行。
在图3中,从启动控制器110,用户可以启动以后台模式运行的应用程序A、B和C140。在不同实施例中,用户可以是个人用户、计算机程序、设备等。应用程序A、B和C 140将进程ID和其它状态存储在数据存储库150中。应用程序A、B和C 140还可以从数据存储库150取回进程ID和其它状态。即使当用户从当前控制台会话注销时,应用程序A、B和C 140也继续以后台模式运行。
从退出控制器130,用户可以终止以后台模式运行的特定应用程序140。退出控制器130在数据存储库150中更新被终止的应用程序140的终止指示符162。通过这种方式,针对被终止的应用程序向数据存储库150发送退出命令。当应用程序检测到退出命令到达数据存储库150(经由检查机制210)时,应用程序将从执行退出(即,终止)。此外,可以使用启动监视器120更新和取回所启动的应用程序的状态。
图4以流程图示出根据某些实施例的用于使用实用工具的操作。控制在方框400开始,响应于接收到启动应用程序的请求,使用启动控制器110启动应用程序。在方框402,响应于接收到用于取回状态或更新状态的请求,使用启动监视器120提供或更新所启动的应用程序的状态。在方框404,响应于接收到终止请求,使用退出控制器130终止所启动的应用程序。
图5A和5B以流程图示出根据某些实施例的用于检查终止指示符和设置退出命令指示符的操作。控制在方框500开始,响应于以后台模式启动应用程序140,退出控制器130设置终止指示符162以指示未接收到退出命令(例如,将终止指示符162设置为假)。在方框502,检查机制210检查数据存储库150中的终止指示符162。在方框504,检查机制210判定终止指示符是否指示已接收到退出命令。如果是,则处理继续到方框508(图5B),否则,处理继续到方框506。
在方框506,检查机制210休眠一段时间(例如,由启动应用程序的用户设置或者由***管理员设置)。当检查机制210唤醒时,处理继续到方框502。
在方框508,检查机制210在所启动的应用程序中设置退出命令指示符200以指示针对所启动的应用程序接收到退出命令(例如,将退出命令指示符200设置为真)。在方框510,检查机制210向阻塞机制230发送通知以便唤醒所启动的应用程序的被阻塞主线程。
图6以流程图示出根据某些实施例的由阻塞机制230执行的操作。控制在方框600开始,阻塞机制230从检查机制210接收通知以便唤醒所启动的应用程序的被阻塞主线程。在方框602,阻塞机制230判定是否设置了退出命令指示符200以指示针对所启动的应用程序接收到退出命令(例如,是否将退出命令指示符200设置为真)。在方框604,阻塞机制终止所启动的应用程序。在方框606,阻塞机制阻塞所启动的应用程序的主线程以便防止所启动的应用程序终止。在某些实施例中,使用线程中的等待和通知特性处理线程中的阻塞和通知。
因此,使用各实施例,长时间运行的应用程序可以以后台模式启动,并且将一直运行,直到被主动终止。此外,可以提供按需执行,因为应用程序可以以后台模式启动并且由用户在任何时候终止。
为了解决对无人参与的内容管理应用程序的要求,各实施例实现以后台模式启动和管理无人参与的内容管理应用程序。
因此,各实施例提供一种新型待解决后台处理,其不同于平台和平台中的处置后台处理的传统方式。
各实施例提供一种新方法,其支持应用程序在后台(即,无人参与的模式)按需执行,而没有额外编程或shell脚本编写的复杂性和开销。
其它实施例详细信息
所属技术领域的技术人员知道,本发明的各个方面可以实现为***、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的不同实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,所示的流程图和框图操作显示某些事件以特定的顺序发生。在备选实施例中,可以以不同的顺序执行、修改或删除某些操作。此外,可以向上述逻辑添加操作并仍然符合所述实施例。进一步,在此描述的操作可以顺序地发生或者某些操作可以被并行地处理。更进一步,操作可以由单个处理单元或由分布式处理单元来执行。
实现所述操作的代码还可以以硬件逻辑或电路(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)实现。硬件逻辑可以耦合到处理器以便执行操作。
相互通信的设备不必持续地相互通信,除非另外明确指出。此外,相互通信的设备可以通过一个或多个媒介直接或间接地通信。
具有若干相互通信的组件的实施例的描述并非暗示所有此类组件都是必需的。相反,描述了多种可选的组件以说明本发明的更多可能的实施例。
此外,尽管可以按照连续的顺序来描述过程步骤、方法步骤、算法等,但是此类过程、方法和算法可以被配置为以替代顺序工作。换句话说,可以描述的步骤的任何序列或顺序并不一定指示要求按此顺序执行步骤。实际可以按任何顺序执行在此描述的过程的步骤。此外,可以同时执行某些步骤。
当在此描述单个设备或物品时,将显而易见的是,可以使用多个设备/物品(无论它们是否协作)来代替单个设备/物品。同样,当在此描述多个设备或物品(无论它们是否协作)的情况下,将显而易见的是,可以使用单个设备/物品来代替多个设备或物品,或者可以使用不同数量的设备/物品来代替所示数量的设备或程序。设备的功能和/或特性可以替代地由一个或多个其它未明确描述为具有此类功能/特性的设备来体现。因此,本发明的其它实施例不必包括设备本身。
在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
术语“一个实施例”、“实施例”、“各实施例”、“所述实施例”、“所述各实施例”、“一个或多个实施例”、“某些实施例”和“某一实施例”指“本发明(多个)的一个或多个(但不是所有)实施例”,除非另外明确指出。
术语“包含”、“包括”、“具有”及其变型指“包括但不限于”,除非另外明确指出。
列举的项目的列表并非暗示任何或所有的项目互相排斥,除非另外明确指出。
下面权利要求中的对应结构、材料、操作以及所有装置或步骤加功能元件的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。出于示例和说明目的给出了对本发明实施例的描述,但所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属技术领域的其它普通技术人员能够理解本发明的具有各种修改的各种实施例。
图7示出根据某些实施例的可以使用的计算机体系架构700。在某些实施例中,计算设备100可以实现计算机体系架构700。计算机体系架构700适合于存储和/或执行程序代码,并且包括至少一个通过***总线720直接或间接耦合到存储元件704的处理器702。存储元件704可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置取回代码的次数的高速缓存存储器。存储元件704包括操作***705和一个或多个计算机程序706。
输入/输出(I/O)设备712、714(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器710与***相连。
网络适配器708也可以被耦合到***以使数据处理***能够通过中间专用或公共网络变得与其它数据处理***或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是当前可用类型的网络适配器708中的少数几种。
计算机体系架构700可以耦合到存储器716(例如,任何类型的存储设备;非易失性存储区域,例如磁盘驱动器、光盘驱动器、磁带驱动器等)。存储器716可以包括内部存储设备或附加的或网络可访问存储器。存储器716中的计算机程序706可以加载到存储元件704,并且由处理器702以所属技术领域已知的方式执行。
计算机体系架构700可以包括少于所示的组件、未在此示出的其它组件,或者所示组件和其它组件的某种组合。计算机体系架构700可以包括所属技术领域已知的任何计算设备,例如大型机、服务器、个人计算机、工作站、膝上型计算机、手持式计算机、电话设备、网络设备、虚拟化设备、存储控制器等。
出于示例和说明目的给出了本发明实施例的上述说明。其并非旨在是穷举的或将实施例限于所公开的精确形式。根据上述教导,许多修改和变化都是可能的。其旨在实施例的范围并非由此详细说明来限制,而是由此后所附的权利要求来限制。以上说明书、实例和数据提供了对各实施例的组成部分的制造和使用的完整说明。由于可以在不偏离本发明的精神和范围的情况下得出许多实施例,所以实施例存在于此后所附的权利要求或后续提交的任何权利要求或其等效物之内。

Claims (20)

1.一种管理应用程序的方法,包括:
响应在开始时间以后台模式启动应用程序,
监控数据存储库中的退出指令指示符以确定是否已接收到退出命令;
响应于确定接收到退出命令,设置终止指示符以指示所述应用程序将被终止;以及
响应于设置终止指示符,终止所启动的应用程序。
2.根据权利要求1的方法,其中所启动的应用程序包括检查机制和阻塞机制。
3.根据权利要求2的方法,其中响应于设置终止指示符,由所述检查机制发送通知唤醒所启动的应用程序的被阻塞主线程。
4.根据权利要求3的方法,其中所述阻塞机制接收所述通知,并且响应于确定接收到所述退出命令,唤醒所启动的应用程序的所述被阻塞主线程。
5.根据权利要求4的方法,其中响应于确定未设置终止指示符,所述阻塞机制阻塞所启动的应用程序的主线程以便防止所启动的应用程序终止。
6.根据权利要求2的方法,其中所述检查机制检查终止指示符以判定是否接收到所述退出命令。
7.根据权利要求1的方法,其中按需启动和终止所述应用程序。
8.一种计算机可读存储介质,所述计算机可读存储介质其上包含程序代码,所述程序代码可由至少一个处理器执行以便执行以下操作:
响应于在开始时间以后台模式启动应用程序;
监控数据存储库中的退出指令指示符以确定是否已接收到退出命令,
响应于确定接收到退出命令,设置终止指示符以指示所述应用程序将被终止;以及
响应于设置终止指示符,终止所启动的应用程序。
9.根据权利要求8的计算机可读存储介质,其中所启动的应用程序包括检查机制和阻塞机制。
10.根据权利要求9的计算机可读存储介质,其中响应于设置终止指示符,由所述检查机制发送通知唤醒所启动的应用程序的被阻塞主线程。
11.根据权利要求10的计算机可读存储介质,其中所述阻塞机制接收所述通知,并且响应于确定接收到所述退出命令,唤醒所启动的应用程序的所述被阻塞主线程。
12.根据权利要求11的计算机可读存储介质,其中响应于确定未设置终止指示符,所述阻塞机制阻塞所启动的应用程序的所述主线程以便防止所启动的应用程序终止。
13.根据权利要求9的计算机可读存储介质,其中所述检查机制检查终止指示符以判定是否接收到所述退出命令。
14.根据权利要求8的计算机可读存储介质,其中按需启动和终止所述应用程序。
15.一种计算机***,包括:
一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读有形存储设备;以及
程序指令,所述程序指令存储在所述一个或多个计算机可读有形存储设备中的至少一个上,以便经由所述一个或多个存储器中的至少一个而由所述一个或多个处理器中的至少一个执行,从而执行操作,所述操作包括:
响应于在开始时间以后台模式启动应用程序;
监控数据存储库中的退出指令指示符以确定是否已接收到退出命令,
响应于确定接收到退出命令,设置终止指示符以指示所述应用程序将被终止;以及
响应于设置终止指示符,终止所启动的应用程序。
16.根据权利要求15的计算机***,其中所启动的应用程序包括检查机制和阻塞机制。
17.根据权利要求16的计算机***,其中响应于设置终止指示符,由所述检查机制发送通知唤醒所启动的应用程序的被阻塞主线程。
18.根据权利要求17的计算机***,其中所述阻塞机制接收所述通知,并且响应于确定接收到所述退出命令,唤醒所启动的应用程序的所述被阻塞主线程。
19.根据权利要求17的计算机***,其中所述阻塞机制接收所述通知,并且响应于确定未接收到所述退出命令,阻塞所启动的应用程序的主线程以便防止所启动的应用程序终止。
20.根据权利要求16的计算机***,其中所述检查机制检查终止指示符以判定是否接收到所述退出命令。
CN201410444546.6A 2013-10-28 2014-09-03 启动和管理无人参与的应用程序的方法和计算机*** Active CN104572167B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/065,062 2013-10-28
US14/065,062 US9417932B2 (en) 2013-10-28 2013-10-28 Launching and managing unattended application programs

Publications (2)

Publication Number Publication Date
CN104572167A CN104572167A (zh) 2015-04-29
CN104572167B true CN104572167B (zh) 2019-01-22

Family

ID=52997002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410444546.6A Active CN104572167B (zh) 2013-10-28 2014-09-03 启动和管理无人参与的应用程序的方法和计算机***

Country Status (2)

Country Link
US (2) US9417932B2 (zh)
CN (1) CN104572167B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496233B2 (en) * 2013-10-23 2019-12-03 Micro Focus Llc Tracking a status of a process
EP3062225B1 (en) * 2015-02-24 2019-07-03 Huawei Technologies Co., Ltd. Multi-operating system device, notification device and methods thereof
CN106201677A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 应用控制方法和***
CN106506658A (zh) * 2016-11-21 2017-03-15 济南浪潮高新科技投资发展有限公司 一种保留远程开启服务的方法
CN106547615B (zh) * 2016-11-25 2020-12-22 珠海市魅族科技有限公司 一种后台应用的管理方法及管理模块
CN106970794B (zh) * 2017-03-28 2020-08-25 联想(北京)有限公司 服务器集群及其启动方法
CN109885349B (zh) * 2017-12-06 2021-04-16 Oppo广东移动通信有限公司 应用清理方法、装置、移动终端及计算机可读存储介质
CN111240750B (zh) * 2018-11-29 2023-05-05 阿里巴巴集团控股有限公司 一种目标应用程序的唤醒方法及装置
CN110716755B (zh) * 2019-10-14 2023-05-02 浙江诺诺网络科技有限公司 一种线程退出方法、装置、设备及可读存储介质
CN113535240A (zh) * 2020-04-17 2021-10-22 深圳Tcl数字技术有限公司 一种开机动画的退出方法、存储介质及终端设备
CN111740904B (zh) * 2020-06-27 2021-06-04 常州天正信息科技有限公司 一种智能工业网关通信方法及***
CN113177422B (zh) * 2020-09-30 2024-02-20 深圳华智融科技股份有限公司 卡检测方法、计算机设备和计算机可读存储介质
CN116701134B (zh) * 2022-10-14 2024-05-17 荣耀终端有限公司 一种数据处理方法和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880505A (zh) * 2011-09-01 2013-01-16 微软公司 用于后台工作执行的事件聚合
CN102981906A (zh) * 2012-11-16 2013-03-20 广东欧珀移动通信有限公司 一种应用程序后台进程管理方法及装置
CN103019842A (zh) * 2012-11-29 2013-04-03 广东欧珀移动通信有限公司 后台程序整理方法及***
CN103106363A (zh) * 2011-08-24 2013-05-15 株式会社泛泰 用于提供关于后台进程的安全信息的设备和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318147B2 (en) 2000-12-07 2008-01-08 International Business Machines Corporation Method for delaying and executing system administration operations in unattended mode
US20040083388A1 (en) 2002-10-25 2004-04-29 Nguyen The Vinh Method and apparatus for monitoring data packets in a packet-switched network
US7849457B1 (en) 2006-04-20 2010-12-07 Juan Pulido Process for automatic & unattended formatting and re-installation of operative system, OS updates, drivers and re-installation of software applications, launched from a website as a digital service
US7802243B1 (en) 2006-04-20 2010-09-21 Open Invention Network Llc System and method for server customization
US8424077B2 (en) 2006-12-18 2013-04-16 Irdeto Canada Corporation Simplified management of authentication credentials for unattended applications
US7962911B2 (en) * 2007-02-02 2011-06-14 International Business Machines Corporation Method and apparatus for preventing undesired termination of a process in an information handling system
US7965677B2 (en) 2007-10-02 2011-06-21 Advanced Micro Devices, Inc. Mobile computer with unattended online content processing
CN102089767B (zh) 2008-05-30 2015-01-21 爱迪德加拿大公司 无人值守应用程序的经认证数据库连接
US8739125B2 (en) 2009-06-16 2014-05-27 Red Hat, Inc. Automated and unattended process for testing software applications
US20120042286A1 (en) 2010-08-10 2012-02-16 Rmt, Inc. Graphical Computer Application Recall System and Method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106363A (zh) * 2011-08-24 2013-05-15 株式会社泛泰 用于提供关于后台进程的安全信息的设备和方法
CN102880505A (zh) * 2011-09-01 2013-01-16 微软公司 用于后台工作执行的事件聚合
CN102981906A (zh) * 2012-11-16 2013-03-20 广东欧珀移动通信有限公司 一种应用程序后台进程管理方法及装置
CN103019842A (zh) * 2012-11-29 2013-04-03 广东欧珀移动通信有限公司 后台程序整理方法及***

Also Published As

Publication number Publication date
US20150121380A1 (en) 2015-04-30
CN104572167A (zh) 2015-04-29
US20150121398A1 (en) 2015-04-30
US9424108B2 (en) 2016-08-23
US9417932B2 (en) 2016-08-16

Similar Documents

Publication Publication Date Title
CN104572167B (zh) 启动和管理无人参与的应用程序的方法和计算机***
CN103069391B (zh) 用于使能在云计算环境中的控制方法和***
CN109523187A (zh) 任务调度方法、装置和设备
CN109324977A (zh) 应用程序卡顿的检测方法、装置及电子设备
US20180083913A1 (en) Apparatus and method for managing notification
US9361277B2 (en) Method and apparatus for implementing microblog message pages
US11374894B2 (en) Confusion reduction in an online social network
CN110222775A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN110096444A (zh) 一种基于excel生成测试用例的管理***、使用方法及设备
US20220300928A1 (en) Cloud Computing Metering and Charging Method and Apparatus, and Electronic Device and Storage Medium
CN113741756A (zh) 信息处理方法、装置、终端和存储介质
CN107403112A (zh) 数据校验方法及其设备
CN110119386A (zh) 数据处理方法、数据处理装置、介质和计算设备
US10606580B2 (en) Cognitive identification of related code changes
US9703614B2 (en) Managing a free list of resources to decrease control complexity and reduce power consumption
US20230093199A1 (en) Tuning external invocations utilizing weight-based parameter resampling
EP3374860B1 (en) Communicating information about an update of an application
CN110262841A (zh) 一种对字节码进行增强的方法和装置
US11366613B2 (en) Method and apparatus for writing data
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
KR20160029282A (ko) 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN108632456A (zh) 信息处理方法及信息处理***
US9378225B2 (en) Core service build / deployment for hierarchical database
US11531548B1 (en) Fast perfect issue of dependent instructions in a distributed issue queue system
CN112887803B (zh) 一种会话处理方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant