CN106557360A - 任务运行方法及装置 - Google Patents
任务运行方法及装置 Download PDFInfo
- Publication number
- CN106557360A CN106557360A CN201610983500.0A CN201610983500A CN106557360A CN 106557360 A CN106557360 A CN 106557360A CN 201610983500 A CN201610983500 A CN 201610983500A CN 106557360 A CN106557360 A CN 106557360A
- Authority
- CN
- China
- Prior art keywords
- task
- run
- process identifier
- goal task
- file
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
本申请实施例公开了一种任务运行方法及装置。所述方法包括:在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;若不存在其他任务的进程标识符文件,则运行所述目标任务;在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。本申请实施例所提供的技术方案,在当前正在运行的任务结束前,下一个任务不会运行,从而避免任务运行时发生冲突,提高任务运行的正确性和效率。
Description
技术领域
本发明涉及操作系统技术领域,尤其涉及一种任务运行方法及装置。
背景技术
LINUX系统中,不同的任务可能需要共用同一个程序功能模块,这样,如果在其中一个任务结束前,其他任务就开始启动,很可能造成任务之间的冲突和出错,从而影响任务执行的效率和正确性。例如,对于多个串行执行的定时类任务,如果定时的时间间隔太短,很可能出现上一个任务还没有执行完毕,下一个任务就开始启动的情况。其中,上一个任务没有执行完毕的情况原因有很多种,例如出现延迟,终端时间过长等,都可能导致其执行时间超出预计的时间。如果上一个任务还没有执行完毕,下一个任务便根据预定的时间启动了,就会导致串行执行的定时任务之间产生逻辑冲突乃至引起系统崩溃;但若将定时时间间隔设置得过长,串行任务的执行效率会降低。
发明内容
为克服相关技术中任务运行时任务之间存在冲突的问题,本申请提供一种任务运行方法及装置。
根据本申请实施例的第一方面,提供一种任务运行方法,包括:
当任务运行时,创建进程标识符文件;
在所述进程标识符文件中写入任务的进程标识符;
当任务结束时,删除所述进程标识符文件。
根据本申请实施例的第二方面,提供一种任务运行方法,包括:
在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
若不存在其他任务的进程标识符文件,则运行所述目标任务;
在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
在一种可能的设计中,所述方法还包括:
若存在其他任务的进程标识符文件,则不运行所述目标任务。
在一种可能的设计中,所述方法还包括:
若存在其他任务的进程标识符文件,则进一步判断读取与所述进程标识符文件对应的软链接是否成功;
若读取与所述进程标识符文件对应的软链接成功,则运行所述目标任务;若失败,则不运行所述目标任务。
在一种可能的设计中,若运行所述目标任务,则在运行过程中创建所述目标任务的进程标识符文件之后,还包括:
判断是否存在创建时间相同的其他目标任务进程标识符文件;
若存在创建时间相同的其他目标任务进程标识符文件,退出所述目标任务,并删除所述目标任务进程标识符文件,否则,继续运行所述目标任务。
相应于本申请实施例的第一方面,根据本申请实施例的第三方面,提供一种任务运行装置,包括:
第一PID文件创建模块,用于当任务运行时,创建进程标识符文件;
PID写入模块,用于在所述进程标识符文件中写入任务的进程标识符;
PID文件删除模块,用于当任务结束时,删除所述进程标识符文件。
相应于本申请实施例的第二方面,根据本申请实施例的第四方面,提供一种任务运行装置,包括:
启动判断模块,用于在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
第一运行模块,用于若存在其他任务的进程标识符文件,则运行所述目标任务;
PID文件删除模块,用于在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
在一种可能的设计中,所述任务运行装置还包括:
软链接读取判断模块,用于若存在其他任务的进程标识符文件,则进一步判断读取与所述进程标识符文件对应的软链接是否成功;
第二运行模块,用于若读取与所述进程标识符文件对应的软链接成功,则运行所述目标任务;若失败,则不运行所述目标任务。
在一种可能的设计中,所述的任务运行装置,还包括任务退出判断模块,用于若运行所述目标任务,则在运行过程中创建所述目标任务的进程标识符文件之后:
判断是否存在创建时间相同的其他目标任务进程标识符文件;
若存在创建时间相同的其他目标任务进程标识符文件,则退出所述目标任务,并删除所述目标任务进程标识符文件,否则,继续运行所述目标任务。
本申请实施例提供的技术方案,任务结束后将PID文件删除,既节省系统空间,又有利于通过PID文件来判断任务是否结束,防止任务冲突。另外目标任务运行前先判断是否存在PID文件,若不存在PID文件,则说明没有任务在运行,可以运行目标任务;若存在PID文件,则可以进一步通过判断是否能够读取到与PID对应的软链接来判断当然是否有任务仍在运行,若没有,则运行目标任务,否则目标任务继续等待。这样,在当前正在运行的任务结束前,下一个任务不会运行,从而保证任务运行时不会发生冲突,提高任务运行的正确性,由于消除了任务冲突和冲突导致的错误,相应地也提高了任务运行的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一示例性实施例示出的一种任务运行方法的流程示意图;
图2为本申请一示例性实施例示出的另一种任务运行方法的流程示意图;
图3示出了在第一种实施方式下图2所示方法的另一种流程示意图;
图4示出了在第二种实施方式下图2所示方法的又一种流程示意图;
图5为本申请一示例性实施例示出的又一种任务运行方法的流程示意图;
图6为本申请一示例性实施例示出的一种任务运行装置的结构示意图;
图7为本申请一示例性实施例示出的另一种任务运行装置的结构示意图;
图8为本申请一示例性实施例示出的又一种任务运行装置的结构示意图;
图9为本申请一示例性实施例示出的又一种任务运行装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了全面理解本申请,在以下详细描述中提到了众多具体的细节,但是本领域技术人员应该理解,本申请可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程、组件和电路,以免不必要地导致实施例模糊。
本申请应用于LINUX系统。为更好地理解本申请,现对本申请所涉及的相关概念做简要介绍。LINUX系统中,任务程序运行时系统通常会创建一个与任务对应的PID(ProcessIdentification,进程标识符)文件,PID文件的作用是保存任务的PID,为文本文件格式,一个PID文件中只写入一个PID。PID是LINUX系统自动为任务的进程(Process)分配的唯一的标识符(ID),该PID在任务的进程终止后由系统收回,但任务对应的PID文件通常仍然保留在相关目录下。
LINUX系统中,文件以路径的形式来表示另一文件,称为软链接,也称为符号链接,软链接是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名,软链接能够跨文件系统,也可以和目录链接,而且软链接可以对一个不存在的文件名进行链接,但直到这个文件名对应的文件被创建后,才能打开其链接。进程运行会使用到软链接,若能获取到进程对应的软链接,则说明进程正在运行,若获取不到进程对应的软链接,则说明进程未运行。
图1为本申请一示例性实施例示出的一种任务运行方法的流程示意图,如图1所示,所述方法包括:
步骤S101,当任务运行时,创建PID文件;
步骤S102,在所述PID文件中写入任务的PID;
步骤S103,当任务结束时,删除所述PID文件。
其中,任务运行时,创建与任务对应的PID文件,并在PID文件中写入任务进程的PID,在任务结束时,进程终止,PID会由系统收回,PID文件则删除,这样不仅有利于节省系统空间,同时有利于根据PID文件来判断是否有任务在运行。需要说明的是,本申请所提供的技术方案应用于LINUX系统中存在冲突的多个任务运行的场景或者串行执行定时任务的场景。
图2为本申请一示例性实施例示出的另一种任务运行方法的流程示意图,所述方法基于图1所示的任务运行方法。如图2所示,所述方法包括:
步骤S201,在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
步骤S202,若不存在其他任务的进程标识符文件,则运行所述目标任务;
步骤S203,在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
其中,任务运行结束会删除对应的PID文件。目标任务在创建PID文件进行运行之前,其启动判断程序先判断是否存在PID文件,若不存在,说明没有其他任务在运行或者运行已结束,目标任务也就不可能与其他任务产生冲突,这种情况下运行所述目标任务,运行过程先创建目标任务的PID文件,将目标任务的PID写入PID文件,然后运行主体功能程序。其中步骤S201可以定时执行或者周期性执行,目标任务的启动判断程序定时或周期性判断是否存在PID文件,然后根据判断结果执行后续步骤。
当不存在PID文件时,说明没有任务在运行;当存在PID文件时,说明可能有任务在运行,也可能PID文件对应的任务没有运行,这是因为在一些情况下虽然任务的进程终止,例如被人为使用kill命令终止,任务实质上没有运行,但PID文件仍然存在,不一定会马上被删除,或者,PID文件虽已创建,但进程并没有真正运行,因而任务也并没有真正运行。因此,若存在PID文件,则根据预设的规则进一步判断是否运行所述目标任务。
在第一种实施方式中,若存在PID文件,则根据预设的规则判断是否运行所述目标任务,可以为当存在PID文件时,不运行目标任务,这种方式能够保证目标任务不与PID文件对应的任务产生冲突,安全性较高,但系统任务运行效率会较低。图3示出了在第一种实施方式下,图2所示方法的一种流程示意图,若步骤S201判断的结果是不存在PID文件,则运行目标任务,运行过程中先创建目标任务的PID文件,在PID文件中写入目标任务的PID;若判断的结果是存在PID文件,则不运行所述目标任务,流程结束。
在第二种实施方式中,若存在PID文件,则根据预设的规则判断是否运行所述目标任务,包括:若存在其他任务的进程标识符文件,则进一步判断读取与所述进程标识符文件对应的软链接是否成功;若成功,则运行所述目标任务;若失败,则不运行所述目标任务。具体的,前述过程可以包括:
(a1)读取所述PID文件中的PID;
(a2)读取与所述PID对应的软链接,判断是否读取成功;
(a3)若读取所述软链接失败,则运行所述目标任务;
(a4)若读取所述软链接成功,则不运行所述目标任务。
其中,若目标任务的启动判断程序判断存在PID文件,则读取该PID文件中保存的PID,然后读取与所述PID对应的软链接,判断是否读取成功,也就是读取任务进程的软链接,如果读取软链接成功,则说明进程正在运行,进程对应的任务没有运行完毕,则不运行所述目标任务,目标任务继续等待;如果读取与所述PID对应的软链接失败,也就是读取不到软链接,则说明进程没有运行,进程未运行可视为任务已运行完毕,虽然任务尚未真正结束并删除其PID文件,但由于进程未运行,则进程要调用的相关功能模块等也未被占用,目标任务将不会与其他任务产生冲突,因而可以运行所述目标任务。
图4示出了在第二种实施方式下,图2所示方法的一种流程示意图,若步骤S201判断的结果是不存在PID文件,则运行目标任务;若判断的结果是存在PID文件,则执行步骤(a1)至(a4),如果步骤a2判断的结果是不运行所述目标任务,则方法流程结束。
当目标任务结束时,删除与所述目标任务对应的PID文件。每个任务在运行之前都是目标任务,在运行前都会执行步骤S201至步骤S203,以避免和正在运行的任务产生冲突,因此一般情况而言,实际上当前运行的任务只有一个,PID文件也只有一个。但是,若有两个或多个并行的目标任务的启动时间相同,便可能出现两个或多个目标任务在得到同样的运行判断结果,如果得到的结果是目标任务运行,这些目标任务都运行的话便可能会产生冲突,为解决这个问题,本申请提出图5所示的任务运行方法。
图5为本申请一示例性实施例示出的又一种任务运行方法的流程示意图,所述方法基于图1所示的任务运行方法。如图5所示,所述方法包括:
步骤S501,在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
步骤S502,若不存在其他任务的进程标识符文件,则开始运行所述目标任务;
步骤S503,创建目标任务的PID文件;
步骤S504,判断是否存在创建时间相同的其他目标任务PID文件;
步骤S505,若存在创建时间相同的其他目标任务PID文件,退出所述目标任务,并删除所述目标任务PID文件;
步骤S506,若不存在创建时间相同其他目标任务PID文件,继续运行所述目标任务;
步骤S507,在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
其中,步骤S502开始运行所述目标任务,则步骤S503创建目标任务PID文件,并在目标任务PID文件中写入目标任务的PID,图5所示方法与图2所示方法的区别在于,在步骤S502之后并不马上完全地运行目标任务,而是进一步判断是否存在创建时间相同的其他目标任务PID文件,若不存在,则目标任务PID文件是唯一的,没有其他同时启动的目标任务,也就不可能存在相冲突的目标任务同时运行,因而执行步骤S506,继续运行目标任务;若存在创建时间相同的其他目标任务PID文件,则说明有其他目标任务同时启动,为避免任务之间发生冲突,故退出所述目标任务,并删除步骤S503创建的PID文件,目标任务继续等待。步骤S503值步骤S506也可以在图4的步骤a3之后运行,也就是当判断的结果是运行目标任务,在运行过程中创建PID文件后,可以进一步是否存在创建时间相同的PID文件,若存在,则退出目标任务,若不存在,则继续运行目标任务。
本申请实施例所提供的任务运行方法,任务结束后将PID文件删除,既节省系统空间,又有利于通过PID文件来判断任务是否结束,防止任务冲突。本申请实施例所提供的技术方案中,目标任务运行前先判断是否存在PID文件,若不存在PID文件,则说明没有任务在运行,然后目标任务开始运行;若存在PID文件,则可以进一步通过判断是否能够读取到与PID对应的软链接来判断当然是否有任务仍在运行,若没有,则运行目标任务,否则目标任务继续等待。这样,在当前正在运行的任务结束前,下一个任务不会运行,相当于对当前正在运行的任务在运行时进行了锁定,该任务运行结束后方解锁,解锁后下一个任务才能运行,从而保证任务运行时不会发生冲突,提高任务运行的正确性,由于消除了任务冲突和冲突导致的错误,相应地也提高了任务运行的效率,对于串行执行的定时任务来讲,即使定时任务之间间隔时间短,也可以避免因任务时延导致的定时任务之间的冲突。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,并存储在一个存储介质中,包括若干指令用以使得一台智能设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储数据和程序代码的介质。
图6为本申请一示例性实施例示出的一种任务运行装置的结构示意图。如图6所示,所述装置包括:
第一PID文件创建模块U601,用于当任务运行时,创建PID文件;
PID写入模块U602,用于在所述PID文件中写入任务的PID;
PID文件删除模块U603,用于当任务结束时,删除所述PID文件。
任务运行时,调用第一PID文件创建模块创建与任务对应的PID文件,并调用PID写入模块在PID文件中写入任务进程的PID,在任务结束时,进程终止,再调用PID文件删除模块删除PID文件,PID则会由系统收回,不仅节省系统空间,同时有利于根据PID文件来判断是否有任务在运行。
图7为本申请一示例性实施例示出的另一种任务运行装置的结构示意图。如图7所示,所述装置包括:
启动判断模块U701,用于在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
第一运行模块U702,用于若存在其他任务的进程标识符文件,则运行所述目标任务;
PID文件删除模块U703,用于在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
任务运行结束PID文件删除模块U703删除对应的PID文件,因此目标任务在运行前先调用启动判断模块U701判断是否存在PID文件,若不存在,说明没有其他任务在运行或者运行已结束,目标任务不可能与其他任务产生冲突,第一运行模块U702便运行所述目标任务。启动判断模块U701可以定时或周期性判断是否存在PID文件。
当不存在PID文件时,说明没有任务在运行;当存在PID文件时,说明可能有任务在运行,也可能PID文件对应的任务没有运行,因此,若启动判断模块U701判断的结果是存在进程标识符文件,则根据预设的规则判断是否运行所述目标任务。
图8为本申请一示例性实施例示出的又一种任务运行装置的结构示意图。如图8所示,所述装置包括:
启动判断模块U801,用于在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
第一运行模块U802,用于若存在其他任务的进程标识符文件,则运行所述目标任务;
软链接读取判断模块U803,用于若存在其他任务的进程标识符文件,则进一步判断读取与所述进程标识符文件对应的软链接是否成功;
第二运行模块U804,用于若读取与所述进程标识符文件对应的软链接成功,则运行所述目标任务;若失败,则不运行所述目标任务;
PID文件删除模块U805,用于在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
其中,若启动判断模块U701判断的结果是存在PID文件,则软链接读取判断模块U803读取该PID文件中保存的PID,然后读取与所述PID对应的软链接,判断是否读取成功,如果读取软链接成功,则说明进程正在运行,进程对应的任务没有运行完毕,因而不运行目标任务,目标任务继续等待;如果软链接读取判断模块U803读取与所述PID对应的软链接失败,也就是读取不到软链接,则说明进程没有运行,第二运行模块U804运行所述目标任务。
在另一种可能的实施方式中,若启动判断模块U701判断的结果是存在PID文件,则不运行所述目标任务。这种方式下只要存在PID文件,目标任务便不运行,因而能够保证目标任务不与PID文件对应的任务产生冲突,安全性高但系统任务运行效率会较低。
图9为本申请一示例性实施例示出的又一种任务运行装置的结构示意图。如图9所示,所述装置包括:
启动判断模块U901,用于在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
第一运行模块U902,用于若存在其他任务的进程标识符文件,则运行所述目标任务;
退出判断模块U903,所述退出判断模块可以包括:
同时间PID文件判断子模块,用于若运行所述目标任务,则在运行过程中创建所述目标任务的进程标识符文件之后,判断是否存在创建时间相同的其他目标任务进程标识符文件;
退出子模块,用于若存在创建时间相同的其他目标任务进程标识符文件,则退出所述目标任务,并删除所述目标任务进程标识符文件;
运行子模块,用于若存在创建时间相同的其他目标任务进程标识符文件,则继续运行所述目标任务;
PID文件删除模块U904,用于在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
其中,若运行所述目标任务,则在创建目标任务PID文件之后,任务退出判断模块U903进一步判断是否存在创建时间相同的其他目标任务PID文件,若不存在,则目标任务PID文件是唯一的,没有其他同时启动的目标任务,任务之间也就不可能发生冲突,因而继续运行所述目标任务;若退出判断模块U903判断的结果是存在创建时间相同的其他目标任务PID文件,则说明有其他目标任务同时启动,为避免任务之间发生冲突,故退出所述目标任务,并删除目标任务运行过程中先创建的PID文件,防止后续其他任务在判断是否存在PID文件时出错,目标任务则继续等待。
本申请实施例所提供的任务运行装置,任务结束后将PID文件删除,节省系统空间,并且有利于通过PID文件来判断任务是否结束,防止任务冲突。通过本申请实施例所提供的任务运行装置,目标任务运行前先判断是否存在PID文件,若不存在PID文件,则说明没有任务在运行,目标任务可以运行;若存在PID文件,则可以进一步通过判断是否能够读取到与PID对应的软链接来判断当然是否有任务仍在运行,若没有,则运行目标任务,否则目标任务继续等待,这样相当于对当前正在运行的任务在运行时进行锁定,该任务运行结束后方解锁,才能运行下一个任务,从而保证任务运行时不会发生冲突,提高任务运行的正确性,相应地也提高了任务运行的效率,对于串行定时任务来讲,即使定时任务之间间隔时间短,也可以避免因任务时延导致的定时任务之间的冲突。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者逆序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、装置或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、装置或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、装置或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种任务运行方法,其特征在于,所述方法包括:
在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
若不存在其他任务的进程标识符文件,则运行所述目标任务;
在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
2.如权利要求1的方法,其特征在于,所述方法还包括:
若存在其他任务的进程标识符文件,则不运行所述目标任务。
3.如权利要求1的方法,其特征在于,所述方法还包括:
若存在其他任务的进程标识符文件,则进一步判断读取与所述进程标识符文件对应的软链接是否成功;
若读取与所述进程标识符文件对应的软链接成功,则运行所述目标任务;若失败,则不运行所述目标任务。
4.如权利要求1至3任一项所述的任务运行方法,其特征在于,若运行所述目标任务,则在运行过程中创建所述目标任务的进程标识符文件之后,还包括:
判断是否存在创建时间相同的其他目标任务进程标识符文件;
若存在创建时间相同的其他目标任务进程标识符文件,退出所述目标任务,并删除所述目标任务进程标识符文件,否则,继续运行所述目标任务。
5.一种任务运行装置,其特征在于,包括:
启动判断模块,用于在目标任务运行前,判断当前是否存在其他任务的进程标识符文件,所述进程标识符文件为任务运行时创建的标识文件;
第一运行模块,用于若存在其他任务的进程标识符文件,则运行所述目标任务;
PID文件删除模块,用于在所述目标任务运行结束后,删除所述目标任务的进程标识符文件。
6.如权利要求5的任务运行装置,其特征在于,还包括:
软链接读取判断模块,用于若存在其他任务的进程标识符文件,则进一步判断读取与所述进程标识符文件对应的软链接是否成功;
第二运行模块,用于若读取与所述进程标识符文件对应的软链接成功,则运行所述目标任务;若失败,则不运行所述目标任务。
7.如权利要求5或6所述的任务运行装置,其特征在于,还包括任务退出判断模块,所述任务退出判断模块,用于若运行所述目标任务,则在运行过程中创建所述目标任务的进程标识符文件之后:
判断是否存在创建时间相同的其他目标任务进程标识符文件;
若存在创建时间相同的其他目标任务进程标识符文件,则退出所述目标任务,并删除所述目标任务进程标识符文件,否则,继续运行所述目标任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610983500.0A CN106557360B (zh) | 2016-11-09 | 2016-11-09 | 任务运行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610983500.0A CN106557360B (zh) | 2016-11-09 | 2016-11-09 | 任务运行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106557360A true CN106557360A (zh) | 2017-04-05 |
CN106557360B CN106557360B (zh) | 2020-06-16 |
Family
ID=58444725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610983500.0A Active CN106557360B (zh) | 2016-11-09 | 2016-11-09 | 任务运行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106557360B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108692736A (zh) * | 2018-05-28 | 2018-10-23 | 苏州格目软件技术有限公司 | 一种基于深度学习的智能学步方法及其系统 |
CN110297741A (zh) * | 2019-06-24 | 2019-10-01 | 杭州迪普信息技术有限公司 | 一种后台任务监控方法及装置 |
CN110968472A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 进程的处理方法、装置、存储介质和处理器 |
CN111858224A (zh) * | 2019-04-25 | 2020-10-30 | 珠海格力电器股份有限公司 | 一种安卓系统中的进程监听方法及装置 |
CN112015525A (zh) * | 2019-05-29 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 任务进程阻塞管理方法 |
CN113076186A (zh) * | 2021-05-07 | 2021-07-06 | 泰康保险集团股份有限公司 | 任务处理的方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175359A (ja) * | 1997-12-17 | 1999-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 異種プラットフォーム間のイベント監視部統合方法 |
CN1818868A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 嵌入式操作系统多任务并行启动优化实现方法 |
CN101470626A (zh) * | 2007-12-27 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种任务排序方法 |
CN101630262A (zh) * | 2009-07-17 | 2010-01-20 | 北京数帅科技有限公司 | 基于Linux操作系统的子进程监控方法 |
-
2016
- 2016-11-09 CN CN201610983500.0A patent/CN106557360B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175359A (ja) * | 1997-12-17 | 1999-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 異種プラットフォーム間のイベント監視部統合方法 |
CN1818868A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 嵌入式操作系统多任务并行启动优化实现方法 |
CN101470626A (zh) * | 2007-12-27 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种任务排序方法 |
CN101630262A (zh) * | 2009-07-17 | 2010-01-20 | 北京数帅科技有限公司 | 基于Linux操作系统的子进程监控方法 |
Non-Patent Citations (1)
Title |
---|
童佳: "基于进程文件系统的 Linux 内核辅助调试工具", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108692736A (zh) * | 2018-05-28 | 2018-10-23 | 苏州格目软件技术有限公司 | 一种基于深度学习的智能学步方法及其系统 |
CN110968472A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 进程的处理方法、装置、存储介质和处理器 |
CN111858224A (zh) * | 2019-04-25 | 2020-10-30 | 珠海格力电器股份有限公司 | 一种安卓系统中的进程监听方法及装置 |
CN112015525A (zh) * | 2019-05-29 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 任务进程阻塞管理方法 |
CN110297741A (zh) * | 2019-06-24 | 2019-10-01 | 杭州迪普信息技术有限公司 | 一种后台任务监控方法及装置 |
CN110297741B (zh) * | 2019-06-24 | 2022-11-25 | 杭州迪普信息技术有限公司 | 一种后台任务监控方法及装置 |
CN113076186A (zh) * | 2021-05-07 | 2021-07-06 | 泰康保险集团股份有限公司 | 任务处理的方法、装置、电子设备和存储介质 |
CN113076186B (zh) * | 2021-05-07 | 2023-07-28 | 泰康保险集团股份有限公司 | 任务处理的方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106557360B (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557360A (zh) | 任务运行方法及装置 | |
CN110169013B (zh) | 在区块链上实现复杂功能性的计算机实现的系统和方法 | |
CN112150163A (zh) | 区块链的合约交易并行执行方法及装置 | |
US9495286B2 (en) | Method and arrangement for completion or recovery of data transactions in a flash type memory device using a commit process | |
CN103198122B (zh) | 重启内存数据库的方法和装置 | |
CN100561384C (zh) | 控制系统组态的增量式在线下载方法 | |
CN103699437A (zh) | 一种资源调度方法及设备 | |
CN106293782A (zh) | 一种系统升级方法及终端 | |
CN109739784A (zh) | 一种数据处理方法、装置、系统及fpga加速卡 | |
CN103580918B (zh) | 一种配置数据处理方法及装置 | |
CN111984421B (zh) | 数据处理方法、装置及存储介质 | |
CN110135967A (zh) | 催收数据的处理方法和系统 | |
CN113204530A (zh) | 分布式文件系统的数据写入方法、装置、设备以及介质 | |
CN113672369A (zh) | 用于验证有向无环图的环的方法及装置、电子设备、存储介质 | |
CN108228789B (zh) | 从节点触发的同步异常恢复方法及装置 | |
CN106649357A (zh) | 用于爬虫程序的数据处理方法及装置 | |
CN108647105A (zh) | 系统切换过程中的幂等控制方法、装置及系统 | |
CN111258985A (zh) | 数据集群迁移方法及装置 | |
CN105610645A (zh) | 车辆管理系统及其控制方法、装置 | |
CN106776775B (zh) | 并发主从同步方法及装置 | |
CN105740028A (zh) | 一种访问控制方法及装置 | |
CN110443529A (zh) | 资源调度方法、装置、设备与计算机可读存储介质 | |
CN107506375A (zh) | 数据存储方法及装置 | |
CN109592277B (zh) | 货物入库出库的控制方法及装置 | |
CN108804148B (zh) | 一种建立设备与驱动的绑定关系的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant after: Hisense Video Technology Co., Ltd Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant before: HISENSE ELECTRIC Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |