WO2017206901A1 - 进程控制方法及相关设备 - Google Patents
进程控制方法及相关设备 Download PDFInfo
- Publication number
- WO2017206901A1 WO2017206901A1 PCT/CN2017/086578 CN2017086578W WO2017206901A1 WO 2017206901 A1 WO2017206901 A1 WO 2017206901A1 CN 2017086578 W CN2017086578 W CN 2017086578W WO 2017206901 A1 WO2017206901 A1 WO 2017206901A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processes
- state
- operating system
- exit
- changed
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Definitions
- the present invention relates to the field of electronic technologies, and in particular, to a process control method and related equipment.
- kernel space mainly includes various mobile operating system core functions (such as process scheduling, memory management, interrupt response, user system calls, etc.).
- the process scheduling module mainly allows each process to switch back and forth in different states.
- the process state of the kernel usually includes the following: 1. The status is being executed; 2. The executable state; 3. The interruptible sleep state; 4. The uninterruptible sleep state; 5. The pause state; 6. The exit state.
- the executing state indicates that the process or the thread has acquired the CPU being executed; the executable state indicates that the process can run but does not acquire CPU resources, and the uninterruptible sleep state indicates that the process is in a sleep state, but the process is uninterruptible at present;
- the interrupted sleep state indicates that the process is in a sleep state but the process is terminal; the pause state indicates that the process is paused and cannot be run; the exit state indicates that the process has begun to exit.
- the significance of the uninterruptible sleep state is that some of the kernel's processing flow cannot be interrupted. If the asynchronous signal is responded, a process for processing the asynchronous signal is inserted into the execution flow of the program (this inserted process may exist only in the kernel mode or extended to the user mode), and the original process is interrupted. It is. When the process operates on certain hardware (for example, the process calls the read/write system call to read and write a device file, the read/write system call finally executes the code to the corresponding device driver, and interacts with the corresponding physical device) It may be necessary to protect the process with an uninterruptible sleep state to prevent the process of interacting with the device from being interrupted, causing the device to fall into an uncontrollable state. However, when the duration of the uninterruptible sleep state is long, it will bring a response delay to the operating system, thereby affecting the stability of the operating system.
- the embodiment of the invention provides a process control method and related device, which can improve the stability of the operating system.
- an embodiment of the present invention provides a process control method, including:
- the N processes have a kill record in the preset duration, change the process state of the N processes, and control the operating system to run the N according to the changed process state of the N processes. Processes.
- an embodiment of the present invention provides a process control apparatus, including:
- a detecting module configured to detect, if the N processes in the kernel space are in an uninterruptible sleep state, exceed a preset duration, detecting whether the N processes have a killing record within the preset duration, N is an integer greater than or equal to 1;
- control module configured to: if the N processes have a recorded record in the preset duration, change a process state of the N processes, and control an operating system according to the changed process of the N processes The state runs the N processes.
- an embodiment of the present invention provides a terminal device, including:
- a processor coupled to the memory
- the processor invokes the executable program code stored in the memory to perform some or all of the steps as described in any of the first aspects of the embodiments of the present invention.
- the present invention provides a computer storage medium, wherein the computer storage medium can store a program, and the program includes some or all of the steps of a process control method described in the first aspect.
- FIG. 1 is a schematic flowchart of a process control method according to an embodiment of the present disclosure
- FIG. 2 is a schematic flowchart of another process control method according to an embodiment of the present invention.
- FIG. 3 is a schematic structural diagram of a process control apparatus according to an embodiment of the present disclosure.
- FIG. 4 is a schematic structural diagram of a terminal device according to an embodiment of the present disclosure.
- FIG. 5 is a schematic structural diagram of another terminal device according to an embodiment of the present invention.
- references to "an embodiment” herein mean that a particular feature, structure, or characteristic described in connection with the embodiments can be included in at least one embodiment of the invention.
- the appearances of the phrases in various places in the specification are not necessarily referring to the same embodiments, and are not exclusive or alternative embodiments that are mutually exclusive. Those skilled in the art will understand and implicitly understand that the embodiments described herein can be combined with other embodiments.
- a terminal device also called a User Equipment (UE) is a device that provides voice and/or data connectivity to a user, for example, a handheld device with a wireless connection function. Vehicle equipment, etc.
- UE User Equipment
- Common terminals include, for example, mobile phones, tablets, notebook computers, PDAs, mobile internet devices (MIDs), wearable devices such as smart watches, smart bracelets, pedometers, and the like.
- Multiple means two or more. "and/or”, describing the association relationship of the associated objects, indicating that there may be three relationships, for example, A and/or B, which may indicate that there are three cases where A exists separately, A and B exist at the same time, and B exists separately.
- the character "/" generally indicates that the contextual object is an "or" relationship.
- FIG. 1 is a schematic flowchart of a process control method according to an embodiment of the present invention, including the following steps:
- the terminal device detects whether the N processes have a killing record within the preset duration. Is an integer greater than or equal to 1.
- the terminal device changes a process state of the N processes, and controls an operating system according to the changed N processes.
- the process state runs the N processes.
- the terminal device periodically detects the process state of all processes in the kernel space, and the duration of the non-interruptible sleep state is usually short, if the time of the N processes in the kernel space is in an uninterruptible sleep state exceeds the preset duration. In this case, the operating system is delayed in response, which affects the stability of the operating system. Therefore, in this case, the terminal device detects whether the N processes are viewed within the preset duration.
- the dog program kills, usually the process continues to be in a certain process state for a long time and can not cause the operating system's watchdog program to run. The watchdog program will end the process without interruption.
- the CPU is not Responding to the interrupt of the external hardware, but the process does not respond to the asynchronous signal, and all the asynchronous signals also include the killing signal, that is to say, the watchdog program cannot end the process state in which the process state is uninterruptible sleep state, if The terminal device detects that the N processes are in the preset time duration and is checked by the watchdog program, and the terminal device directly changes. The process state of the N processes. Finally, the terminal device controls the operating system to run the N processes according to the changed process state of the N processes, thereby avoiding the problem that the operating system is in an uninterruptible sleep state due to some processes for a long time. Improve the stability of the operating system.
- changing the process state of the N processes may be: changing the process state of the N processes from The non-interruptible sleep state is changed to the exit state or to the pause state, and the like, and the present invention is not limited.
- the method shown in FIG. 1 further includes:
- the terminal device allocates N storage spaces for the N processes, and the N storage spaces are in one-to-one correspondence with the N processes; the terminal device stores the statistical information of the N processes correspondingly in the N In storage space.
- the significance of the uninterruptible sleep state is that some of the kernel's processing flow cannot be interrupted. If these processes are interrupted, problems such as data loss may result. Therefore, before changing the process state of these N processes, save the temporary data of the N processes to ensure that they can be found in the next startup after the change. Because the size of the resources occupied by different processes is different, the temporary data size that different processes need to store is also different. Therefore, the terminal device can allocate N storage spaces for the N processes according to the resource size occupied by the N processes, and then The temporary data (ie, statistical information) of the N processes are correspondingly saved to the N storage spaces.
- the method shown in FIG. 1 further includes:
- the terminal device groups the N processes to obtain a K group process set, where each type of process set includes the same type of processes; the terminal device allocates K storage spaces for the K group process set, The K storage spaces are in one-to-one correspondence with the K group process set; the terminal device stores the statistical information of the K group process set in the K storage spaces.
- the significance of the uninterruptible sleep state is that some of the kernel's processing flow cannot be interrupted. If these processes are interrupted, problems such as data loss may result. Therefore, before changing the process state of these N processes, save the temporary data of the N processes to ensure that they can be found in the next startup after the change. Because different processes may be of the same type, such as system processes, or third-party application processes, etc., in order to facilitate management, the terminal device may first group the N processes to obtain a K-group process set (such as N).
- 4 processes are: first process, second process, third process and fourth process, the first process and the second process are of the same type, the third process and the fourth process are of the same type, then two groups are obtained after grouping a process set, the first set of processes includes a first process and a second process, the second set of processes includes a third process and a fourth process, and then The program allocates K storage spaces, and then saves the temporary data (that is, statistical information) of the K sets of process sets to the K storage spaces.
- the foregoing statistics include a process identifier (a process ID is created every time the operating system runs, the process ID is a process identifier, the process identifier is used to distinguish different processes), and the process is changed before the process state is changed.
- Process state such as the process state before process A changes the process state is uninterruptible sleep state, where the statistics are not terminal sleep state
- the time when the process is in an uninterruptible sleep state such as process A is in an uninterruptible sleep state
- the status time is 2s, where the statistics information is 2s) and the status of the data information of the process (for example, the process A is loaded or the transmission data is completed at 50%. At this time, the statistics are loaded or completed. At least one of a ratio of 50%).
- the above statistical information is not limited to the information, and the present invention is not limited thereto.
- step S102 is:
- the terminal device changes the process state of all processes in the kernel space to an exit state, and controls the operating system to exit all the kernel spaces. And the restarting the operating system; if the system process that affects the normal operation of the operating system does not exist in the at least one system process, the terminal device changes the process state of the at least one of the N processes to an exit state, And controlling the operating system to exit the at least one process.
- the running process of the operating system may be a system process (such as a power management process, an activity manager process, a phone process, etc.) or an application process (such as QQ, WeChat, Weibo, etc.).
- a system process such as a power management process, an activity manager process, a phone process, etc.
- an application process such as QQ, WeChat, Weibo, etc.
- a power management process mainly used to control an operating system and a power related part, if the process is long
- the screen of the terminal device may not be dimmed or brightened, which may affect the normal operation of the operating system.
- the terminal device directly withdraws all processes in the kernel space and then restarts the operating system.
- the terminal device exits at least one of the N processes to Mitigating the operating system Stability, wherein at least one process includes N processes, that is, the terminal device can exit all of the N processes.
- step S102 is:
- the terminal device changes the process state of the N-1 processes in the N processes to a suspended state, and controls the operating system to suspend the N-1 processes. .
- a resource can only be occupied by one process. If N processes preempt a resource, there may be cases where these processes cannot run, and the processes are in an uninterruptible sleep state for a long time. In this case, the terminal device may select one of the N processes to run first, and the other N-1 to pause the operation, and the specific implementation manner is as above, so that the N processes can be guaranteed without exiting. normal operation.
- the method shown in FIG. 1 further includes:
- the terminal device If the proportion of the resources of the kernel space is less than or equal to the first threshold, the terminal device starts the N processes according to the statistics of the N processes; if the proportion of the resources in the kernel space is greater than the The first threshold is smaller than the second threshold, the terminal device selects W processes from the N processes, and starts the W processes according to the statistics information of the W processes, where the W processes are prioritized
- the level is greater than or equal to the priority of the processes other than the W processes in the N processes, and the W is an integer greater than or equal to 1.
- the terminal device directly changes the process state of the N processes to the exit state, and then controls the operating system to exit the N processes, and the subsequent users further If you want to restore these N processes, the usual way is to manually start the N processes.
- the terminal device can directly start this when the proportion of the resources occupied by the kernel space is less than or equal to the first threshold.
- N processes which in turn can improve the user experience.
- the first threshold may be, for example, equal to 20%, 25%, 30%, 32% or other values.
- the priority relationship of the N processes is: Process 1 > Process 3 > Process 4 > Process 2, and the W processes started are Process 1 and Process 3.
- the method for starting the process may be that the terminal device last shuts down according to these processes.
- the statistics stored in the closed time are used to start these processes. For example, the statistical information stored when Process A was last closed has the process identifier ID1, and the process state before the process changes the process state is non-terminal sleep state, the data information of the process.
- the status is that the transmission data completion ratio is 50%, the operating system starts the process A according to the process identifier, and the process state of the process A is non-terminal sleep state, and the process A starts from 50% of the data transmission.
- the embodiment of the present invention further provides another more detailed method flow, as shown in FIG. 2, including:
- step S201 The terminal device periodically detects a process state of all processes in the kernel space. If the terminal device detects that the N processes in the kernel space are in an uninterruptible sleep state for more than a preset duration, step S202 is performed, where N is an integer greater than or equal to 1.
- the terminal device detects whether the N processes have a killing record within the preset duration.
- step S203 is performed.
- the terminal device allocates N storage spaces for the N processes, where the N storage spaces are in one-to-one correspondence with the N processes.
- the terminal device stores the statistical information of the N processes in the N storage spaces.
- the terminal device changes a process state of the N processes, and controls an operating system to run the N processes according to the changed process state of the N processes.
- the terminal device determines whether a proportion of resources occupied by the kernel space is less than or equal to a first threshold.
- step S207 is performed.
- step S208 is performed.
- the terminal device starts the N processes according to the statistics information of the N processes.
- the terminal device determines whether a ratio of resources occupied by the kernel space is greater than the first threshold and less than a second threshold.
- step S209 is performed.
- the terminal device selects W processes from the N processes, and starts the W processes according to the statistics information of the W processes, where the priority of the W processes is greater than or equal to the N In addition to the priority of the processes other than the W processes, the W is an integer greater than or equal to 1.
- the embodiment of the present invention further provides a process control apparatus 300, as shown in FIG. 3, including:
- the detecting module 301 is configured to detect, if the N processes in the kernel space are in an uninterruptible sleep state, exceed a preset duration, and detect whether the N processes have a killing record within the preset duration.
- N is an integer greater than or equal to 1.
- the control module 302 is configured to: if the N processes have a recorded record in the preset duration, change a process state of the N processes, and control an operating system according to the changed N processes.
- the process state runs the N processes.
- the process control apparatus shown in FIG. 3 further includes:
- a first allocation module 303 configured to allocate N storage spaces for the N processes, where the N storage spaces are in one-to-one correspondence with the N processes;
- the first storage module 304 is configured to store the statistical information of the N processes in the N storage spaces.
- the process control apparatus shown in FIG. 3 further includes:
- a grouping module configured to group the N processes to obtain a K group process set, where each type of process set includes the same type of processes;
- a second allocation module configured to allocate K storage spaces for the K group process set, where the K storage spaces are in one-to-one correspondence with the K group process set;
- the second storage module is configured to store the statistical information of the K group process set in the K storage spaces.
- the statistics include a process identifier, and the process before the process changes the process state. At least one of a state of the process, a time when the process is in an uninterruptible sleep state, and a state of data information of the process.
- each process of the operating system creates a process ID, where the process ID is the process identifier, and the process identifier is used to distinguish different processes.
- control module 302 is specifically configured to:
- the system process affecting the normal operation of the operating system in the at least one system process the process state of all processes in the kernel space is changed to the exit state, and the operating system is controlled to exit all processes in the kernel space and Restart the operating system;
- control module 302 is specifically configured to:
- the process state of the N-1 processes in the N processes is changed to a suspended state, and the operating system is controlled to suspend the N-1 processes.
- the process control apparatus shown in FIG. 3 further includes:
- the startup module 305 is configured to start, according to the statistical information of the N processes, the N processes, if a ratio of resources occupied by the kernel space is less than or equal to a first threshold;
- the startup module 305 is further configured to: if the proportion of resources occupied by the kernel space is greater than the first threshold and less than a second threshold, select W processes from the N processes, and according to the W processes The statistic information starts the W processes, and the priority of the W processes is greater than or equal to the priority of the processes other than the W processes in the N processes, where the W is greater than or equal to 1. Integer.
- control module 302 is configured to: change the process state of the N processes from an uninterruptible sleep state to an exit state or to a suspended state in terms of changing a state of the N processes.
- each of the above modules (the detection module 301, the control module 302, the distribution module 303, the storage module 304, and the startup module 305) is used to perform the related steps of the method described above in FIGS. 1-2.
- the process control device 300 is presented in the form of a module.
- a “module” herein may refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and/or other devices that provide the above functionality.
- ASIC application-specific integrated circuit
- the detection module 301, the control module 302, the distribution module 303, the storage module 304, and the startup module 305 can be implemented by the processor 401 of the terminal device shown in FIG.
- the terminal device 400 can be implemented in the structure of FIG. 4.
- the terminal device 400 includes at least one processor 401, at least one memory 402, at least one communication interface 403, and a fingerprint recognition module 404.
- the processor 401, the memory 402, and the communication interface 403 are connected by the communication bus and complete communication with each other.
- the processor 401 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the above program.
- CPU central processing unit
- ASIC application-specific integrated circuit
- the communication interface 403 is configured to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
- RAN Radio Access Network
- WLAN Wireless Local Area Networks
- the memory 402 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
- the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this.
- the memory can exist independently and be connected to the processor via a bus.
- the memory can also be integrated with the processor.
- the memory 402 is used to store application code that executes the above solution, and is controlled by the processor 401 for execution.
- the processor 401 is configured to execute application code stored in the memory 402.
- the code stored in the memory 402 can execute the process control method of FIG. 1 to FIG. 2 executed by the terminal device provided above, for example, if it is detected that the N processes in the kernel space are in an uninterruptible sleep state for more than a preset duration, the detection is performed. Whether the N processes have a killing record within the preset duration, the N being an integer greater than or equal to 1; if the N processes have a recorded record in the preset duration, the change is performed The process status of the N processes, and the control operating system running the N processes according to the changed process status of the N processes.
- the terminal device is a mobile phone, and the following describes the components of the mobile phone in conjunction with FIG. 5:
- the RF circuit 510 can be used for receiving and transmitting signals during the transmission or reception of information or during a call. Specifically, after receiving the downlink information of the base station, it is processed by the processor 580. In addition, the uplink data is designed to be sent to the base station. Generally, RF circuit 510 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, RF circuitry 510 can also communicate with the network and other devices via wireless communication. The above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division). Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), E-mail, Short Messaging Service (SMS), and the like.
- GSM Global System of Mobile communication
- GPRS General Packet Radio Service
- the memory 520 can be used to store software programs and modules, and the processor 580 executes various functional applications and data processing of the mobile phone by running software programs and modules stored in the memory 520.
- the memory 520 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a process detection function, a process state change function, a storage space allocation function, etc.);
- the storage data area can store data created according to the use of the mobile phone (such as statistical information of processes, processes being killed and recorded, etc.).
- memory 520 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the input unit 530 can be configured to receive input numeric or character information, and generate a user with the mobile phone Set and key signal input related to function control.
- the input unit 530 may include a touch panel 531 and other input devices 532.
- the touch panel 531 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 531 or near the touch panel 531. Operation), and drive the corresponding connecting device according to a preset program.
- the touch panel 531 can include two parts: a touch detection device and a touch controller.
- the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
- the processor 580 is provided and can receive commands from the processor 580 and execute them.
- the touch panel 531 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
- the input unit 530 may also include other input devices 532.
- other input devices 532 may include, but are not limited to, a physical keyboard, at least one of a function key (such as a volume control button, a switch button, etc.), a trackball, a mouse, a joystick, and the like.
- a function key such as a volume control button, a switch button, etc.
- a trackball such as a mouse, a joystick, and the like.
- the display unit 540 can be used to display information input by the user or information provided to the user as well as various menus of the mobile phone.
- the display unit 540 can include a display panel 541.
- the display panel 541 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
- the touch panel 531 can cover the display panel 541. When the touch panel 531 detects a touch operation on or near it, the touch panel 531 transmits to the processor 580 to determine the type of the touch event, and then the processor 580 according to the touch event. The type provides a corresponding visual output on display panel 541.
- touch panel 531 and the display panel 541 are used as two independent components to implement the input and input functions of the mobile phone in FIG. 5, in some embodiments, the touch panel 531 and the display panel 541 may be integrated. Realize the input and output functions of the phone.
- the handset may also include at least one type of sensor 550, such as a light sensor, motion sensor, and other sensors.
- the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 541 according to the brightness of the ambient light, and the proximity sensor may close the display panel 541 and/or when the mobile phone moves to the ear. Or backlight.
- the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
- the mobile phone can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, This will not be repeated here.
- the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration
- vibration recognition related functions such as pedometer, tapping
- the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, This will not be repeated here.
- Audio circuit 560, speaker 561, and microphone 562 provide an audio interface between the user and the handset.
- the audio circuit 560 can transmit the converted electrical data of the received audio data to the speaker 561, and convert it into a sound signal output by the speaker 561.
- the microphone 562 converts the collected sound signal into an electrical signal, and the audio circuit 560 is used by the audio circuit 560. After receiving, it is converted into audio data, and then processed by the audio data output processor 580, sent to the other mobile phone via the RF circuit 510, or outputted to the memory 520 for further processing.
- WiFi is a short-range wireless transmission technology
- the mobile phone can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 570, which provides users with wireless broadband Internet access.
- FIG. 5 shows the WiFi module 570, it can be understood that it does not belong to the essential configuration of the mobile phone, and may be omitted as needed within the scope of not changing the essence of the invention.
- the processor 580 is the control center of the handset, and connects various portions of the entire handset using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 520, and invoking data stored in the memory 520, executing The phone's various functions and processing data, so that the overall monitoring of the phone.
- the processor 580 may include one or more processing units; preferably, the processor 580 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
- the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 580.
- the handset also includes a power source 590 (such as a battery) that supplies power to the various components.
- a power source 590 such as a battery
- the power source can be logically coupled to the processor 580 via a power management system to manage functions such as charging, discharging, and power management through the power management system.
- the mobile phone may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
- each step method flow may be implemented based on the structure of the terminal device shown in FIG. 5.
- the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium can store a program, and the program includes some or all of the steps of any one of the process control methods described in the foregoing method embodiments.
- the embodiment of the invention further provides a computer program product, wherein the computer program product A non-transitory computer readable storage medium storing a computer program operative to cause a computer to perform some or all of the steps described by the terminal device in the method described above.
- the computer program product can be a software installation package.
- the disclosed apparatus may be implemented in other ways.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable memory. Based on such understanding, the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a memory. A number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods of the various embodiments of the present invention.
- the foregoing memory includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like, which can store program codes.
- ROM Read-Only Memory
- RAM Random Access Memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
- Telephone Function (AREA)
- Power Sources (AREA)
Abstract
一种进程控制方法,包括:若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录(S101),所述N为大于或等于1的整数;若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程(S102)。该方法可提高操作系统的稳定性。
Description
本发明要求2016年5月31日递交的发明名称为“一种进程控制方法及终端设备”的申请号201610380762.8的在先申请优先权,上述在先申请的内容以引入的方式并入本文本中。
本发明涉及电子技术领域,尤其涉及一种进程控制方法及相关设备。
在移动操作系统中,内核空间主要包含各种移动操作系统核心功能(比如进程调度,内存管理,中断响应,用户系统调用等)。进程调度模块主要是让各个进程在不同的状态中来回切换。内核的进程状态通常包含以下几种:1、正在执行状态;2、可执行状态;3、可中断的睡眠状态;4、不可中断的睡眠状态;5、暂停状态;6、退出状态。其中,正在执行状态表示进程或线程已经获取CPU正在执行过程中;可执行状态表示进程可以运行但没有获取CPU资源,不可中断的睡眠状态表示进程处于睡眠状态,但是此刻进程是不可中断的;可中断的睡眠状态表示进程处于睡眠状态但是该进程是可终端的;暂停状态表示进程暂停下来不可运行;退出状态表示进程已经开始退出。
不可中断的睡眠状态存在的意义就在于,内核的某些处理流程是不能被打断的。如果响应异步信号,程序的执行流程中就会被插入一段用于处理异步信号的流程(这个插入的流程可能只存在于内核态,也可能延伸到用户态),于是原有的流程就被中断了。在进程对某些硬件进行操作时(比如进程调用读写系统调用对某个设备文件进行读写操作,读写系统调用最终执行到对应设备驱动的代码,并与对应的物理设备进行交互),可能需要使用不可中断的睡眠状态的进程进行保护,以避免进程与设备交互的过程被打断,造成设备陷入不可控的状态。然而不可中断睡眠状态的持续时间较长时,会给操作系统带来响应延迟,进而影响操作系统的稳定性。
发明内容
本发明实施例提供一种进程控制方法及相关设备,可以提高操作系统的稳定性。
第一方面,本发明实施例提供一种进程控制方法,包括:
若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数;
若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
第二方面,本发明实施例提供一种进程控制装置,包括:
检测模块,用于若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数;
控制模块,用于若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
第三方面,本发明实施例提供了一种终端设备,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如本发明实施例第一方面任一方法中所描述的部分或全部步骤。
第四方面,本发明提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述第一方面记载的一种进程控制方法的部分或全部步骤。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种进程控制方法的流程示意图;
图2为本发明实施例提供的另一种进程控制方法的流程示意图;
图3为本发明实施例提供的一种进程控制装置的结构示意图;
图4为本发明实施例提供的一种终端设备的结构示意图;
图5为本发明实施例提供的另一种终端设备的结构示意图。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、终端设备,又称之为用户设备(User Equipment,UE),是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、
车载设备等。常见的终端例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,例如智能手表、智能手环、计步器等。
2)、“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参见图1,图1为本发明实施例提供的一种进程控制方法的流程示意图,包括以下步骤:
S101、若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则终端设备检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数。
S102、若所述N个进程在所述预设时长内存在被查杀记录,则所述终端设备更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
举例来说,终端设备周期性的检测内核空间中的所有进程的进程状态,通常不可中断睡眠状态的持续时间很短,如果内核空间中N个进程的处于不可中断睡眠状态的时间超过预设时长时,该种情况下,会给操作系统带来响应延迟,进而影响操作系统的稳定性,因此,在该种情况下,终端设备会检测这N个进程在该预设时长内是否有被看门狗程序查杀,通常进程长时间持续在某个进程状态且不可退出时会引起操作系统的看门狗程序运行,看门狗程序会结束该进程,而不可中断,指的并不是CPU不响应外部硬件的中断,而是指进程不响应异步信号,其中的所有异步信号也包含查杀信号,也就是说看门狗程序也无法及时结束进程状态为不可中断睡眠状态的进程的运行,若终端设备检测到这N个进程在该预设时长内存在被看门狗程序查杀记录,终端设备直接更改这N个进程的进程状态,最后终端设备控制操作系统根据更改后的这N个进程的进程状态运行这N个进程,可避免操作系统因某些进程长时间处于不可中断睡眠状态的问题,从而可提高操作系统的稳定性。
其中,更改这N个进程的进程状态可以是:将这N个进程的进程状态从
不可中断睡眠状态更改为退出状态或是更改为暂停状态等等,本发明不作限定。
可选的,在以上步骤S102更改所述N个进程的进程状态之前,图1所示的方法还包括:
终端设备为所述N个进程分配N个存储空间,所述N个存储空间与所述N个进程一一对应;所述终端设备将所述N个进程的统计信息对应存储于所述N个存储空间中。
举例来说,由于不可中断的睡眠状态存在的意义就在于,内核的某些处理流程是不能被打断的。如果这些处理流程被打断可能会导致数据丢失等问题。因此在更改这N个进程的进程状态之前,先保存这N个进程的临时数据,以确保更改后下次启动能找到这些进程。由于不同的进程所占用的资源大小不同,不同的进程需要存储的临时数据大小也不尽相同,因此终端设备可根据N个进程所占用的资源大小为这N个进程分配N个存储空间,然后将这N个进程的临时数据(即统计信息)对应保存到这N个存储空间中。
可选的,在以上步骤S102更改所述N个进程的进程状态之前,图1所示的方法还包括:
终端设备将所述N个进程进行分组,以得到K组进程集,每组进程集包括的进程的类型是相同的;所述终端设备为所述K组进程集分配K个存储空间,所述K个存储空间与所述K组进程集一一对应;所述终端设备将所述K组进程集的统计信息对应存储于所述K个存储空间中。
举例来说,由于不可中断的睡眠状态存在的意义就在于,内核的某些处理流程是不能被打断的。如果这些处理流程被打断可能会导致数据丢失等问题。因此在更改这N个进程的进程状态之前,先保存这N个进程的临时数据,以确保更改后下次启动能找到这些进程。由于不同的进程可能类型是相同的,比如都是系统进程,或者都是第三方应用进程等等,为了方便管理,终端设备可先将这N个进程进行分组,得到K组进程集(比如N=4,4个进程有:第一进程、第二进程、第三进程和第四进程,第一进程和第二进程类型相同,第三进程和第四进程类型相同,那么分组后得到2组进程集,第一组进程集包括第一进程和第二进程,第二组进程集包括第三进程和第四进程),然后为K组进
程集分配K个存储空间,然后再将这K组进程集的临时数据(即统计信息)对应保存到这K个存储空间中。
可选的,上述统计信息包括进程标识符(操作系统每运行一个进程都会创建一个进程ID,这个进程ID就是进程标识符,进程标识符用于区别不同的进程)、进程更改进程状态之前所处的进程状态(比如进程A更改进程状态之前的进程状态为不可中断睡眠状态,此时统计信息里此处为不可终端睡眠状态)、进程处于不可中断睡眠状态的时间(比如进程A处于不可中断睡眠状态的时间为2s,此时统计信息里此处为2s)以及进程的数据信息状态(比如进程A加载完成或传输数据完成比例为50%,此时统计信息里此处为加载完成或传输完成比例为50%)中的至少一种。当然,上述统计信息不仅限于这些信息,本发明不作限定。
可选的,若所述N个进程中存在至少一个进程为系统进程,以上步骤S102的具体实施方式为:
所述至少一个系统进程中存在影响所述操作系统正常运作的系统进程,则终端设备将内核空间中所有的进程的进程状态更改为退出状态,控制所述操作系统退出所述内核空间中所有的进程以及重启所述操作系统;若所述至少一个系统进程中不存在影响所述操作系统正常运作的系统进程,则终端设备将所述N个进程中至少一个进程的进程状态更改为退出状态,以及控制所述操作系统退出所述至少一个进程。
举例来说,操作系统运行的进程可以是系统进程(比如电源管理进程、活动管理器进程、电话进程等)也可以是应用进程(比如QQ、微信、微博等)等。假设上述N个进程中存在至少一个系统进程,且这至少一个系统进程中存在影响操作系统正常运作的系统进程,比如,电源管理进程(主要用于控制操作系统与电源相关部分,如果该进程长时间处于不可中断睡眠状态,会导致终端设备屏幕可能无法变暗或变亮,进而影响操作系统正常运作),该种情况下,终端设备将内核空间中所有的进程直接退出,然后重启操作系统,以恢复终端设备的操作系统的正常运行。假设上述N个进程中存在至少一个系统进程,且这至少一个系统进程中不存在影响操作系统正常运作的系统进程,该种情况下,终端设备将这N个进程中的至少一个进程退出,以缓解操作系统的
稳定性,其中,至少一个进程包含N个进程,也就是说,终端设备可将这N个进程全部退出。
可选的,以上步骤S102的具体实施方式为:
若所述N个进程的占用资源位置相同,则终端设备将所述N个进程中的N-1个进程的进程状态更改为暂停状态,以及控制所述操作系统暂停所述N-1个进程。
举例来说,通常情况一个资源只能被一个进程占用,假设N个进程抢占一个资源时,可能会出现这些进程都运行不了的情况,进而导致这些进程长时间处于不可中断睡眠状态。该种情况下,终端设备可选择这N个进程中的其中一个进程先运行,其他N-1个进行暂停运行,其具体实现方式如上,这样可保证这N个进程在无需退出的情况下,正常运行。
可选的,若更改所述N个进程的进程状态为退出状态,以上步骤S102之后,图1所示的方法还包括:
若所述内核空间的资源被占用的比例小于或等于第一阈值,终端设备根据所述N个进程的统计信息启动所述N个进程;若所述内核空间的资源被占用的比例大于所述第一阈值且小于第二阈值,所述终端设备从所述N个进程中选取出W个进程,以及根据所述W个进程的统计信息启动所述W个进程,所述W个进程的优先级大于或等于所述N个进程中除了所述W个进程之外的进程的优先级,所述W为大于或等于1的整数。
举例来说,假设在上述N个进程长时间处于不可中断睡眠状态后,终端设备直接将这N个进程的进程状态更改为退出状态,然后控制操作系统退出这N个进程的时,后续用户还想恢复这N个进程,通常的做法是,用户手动启动这个N个进程,本方案中,终端设备可在内核空间的资源被占用的比例小于或等于第一阈值的情况下,可直接启动这N个进程,进而可提高用户体验。其中,第一阈值例如可以等于20%、25%、30%、32%或是其他值。另外,终端设备可在内核空间的资源被占用的比例大于第一阈值且小于第二阈值,可以只启动这N个进程中优先级较大的W个即可,比如N=4,W=2,N个进程的优先级关系有:进程1>进程3>进程4>进程2,则启动的W个进程为进程1和进程3。其中,启动进程的方法可以是终端设备根据这些进程上一次关
闭时存储的统计信息来启动这些进程,比如,进程A上一次关闭时存储的统计信息有进程标识符为ID1,进程更改进程状态之前所处的进程状态为不可终端睡眠状态,进程的数据信息状态为传输数据完成比例为50%,则操作系统根据进程标识符启动进程A、进程A的进程状态为不可终端睡眠状态,且进程A是从数据传输50%处开始的。
本发明实施例还提供了另一更为详细的方法流程,如图2所示,包括:
S201、终端设备周期性检测内核空间中的所有进程的进程状态。若所述终端设备检测到所述内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则执行步骤S202,所述N为大于或等于1的整数。
S202、所述终端设备检测所述N个进程在所述预设时长内是否存在被查杀记录。
若是,则执行步骤S203。
若否,则不作任何操作。
S203、所述终端设备为所述N个进程分配N个存储空间,所述N个存储空间与所述N个进程一一对应。
S204、所述终端设备将所述N个进程的统计信息对应存储于所述N个存储空间中。
S205、所述终端设备更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
S206、若更改所述N个进程的进程状态为退出状态,所述终端设备确定所述内核空间的资源被占用的比例是否小于或等于第一阈值。
若是,则执行步骤S207。
若否,则执行步骤S208。
S207、所述终端设备根据所述N个进程的统计信息启动所述N个进程。
S208、所述终端设备确定所述内核空间的资源被占用的比例是否大于所述第一阈值且小于第二阈值。
若是,则执行步骤S209。
若否,则不作任何操作。
S209、所述终端设备从所述N个进程中选取出W个进程,以及根据所述W个进程的统计信息启动所述W个进程,所述W个进程的优先级大于或等于所述N个进程中除了所述W个进程之外的进程的优先级,所述W为大于或等于1的整数。
需要说明的是,图2所示的各个步骤的具体实现方式可参见上述方法的具体实现方式,在此不再叙述。
本发明实施例还提供了一种进程控制装置300,如图3所示,包括:
检测模块301,用于若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数。
控制模块302,用于若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
可选的,在控制模块302更改所述N个进程的进程状态之前,图3所示的进程控制装置还包括:
第一分配模块303,用于为所述N个进程分配N个存储空间,所述N个存储空间与所述N个进程一一对应;
第一存储模块304,用于将所述N个进程的统计信息对应存储于所述N个存储空间中。
可选的,在控制模块302更改所述N个进程的进程状态之前,图3所示的进程控制装置还包括:
分组模块,用于将所述N个进程进行分组,以得到K组进程集,每组进程集包括的进程的类型是相同的;
第二分配模块,用于为所述K组进程集分配K个存储空间,所述K个存储空间与所述K组进程集一一对应;
第二存储模块,用于将所述K组进程集的统计信息对应存储于所述K个存储空间中。
可选的,所述统计信息包括进程标识符、进程更改进程状态之前所处的进
程状态、进程处于不可中断睡眠状态的时间以及进程的数据信息状态中的至少一种。
可选的,操作系统每运行一个进程均会创建一个进程ID,所述进程ID是所述进程标识符,所述进程标识符用于区别不同的进程。
可选的,若所述N个进程中存在至少一个进程为系统进程,控制模块302具体用于:
所述至少一个系统进程中存在影响所述操作系统正常运作的系统进程,则将内核空间中所有的进程的进程状态更改为退出状态,控制所述操作系统退出所述内核空间中所有的进程以及重启所述操作系统;
若所述至少一个系统进程中不存在影响所述操作系统正常运作的系统进程,则将所述N个进程中至少一个进程的进程状态更改为退出状态,以及控制所述操作系统退出所述至少一个进程。
可选的,控制模块302具体用于:
若所述N个进程的占用资源位置相同,则将所述N个进程中的N-1个进程的进程状态更改为暂停状态,以及控制所述操作系统暂停所述N-1个进程。
可选的,若更改所述N个进程的进程状态为退出状态,在控制模块302执行相应操作之后,图3所示的进程控制装置还包括:
启动模块305,用于若所述内核空间的资源被占用的比例小于或等于第一阈值,根据所述N个进程的统计信息启动所述N个进程;
启动模块305,还用于若所述内核空间的资源被占用的比例大于所述第一阈值且小于第二阈值,从所述N个进程中选取出W个进程,以及根据所述W个进程的统计信息启动所述W个进程,所述W个进程的优先级大于或等于所述N个进程中除了所述W个进程之外的进程的优先级,所述W为大于或等于1的整数。
可选的,在更改所述N个进程的状态方面,所述控制模块302具体用于:将所述N个进程的进程状态从不可中断睡眠状态更改为退出状态或是更改为暂停状态。
需要说明的是,上述各模块(检测模块301、控制模块302、分配模块303、存储模块304以及启动模块305)用于执行上述图1-图2所述方法的相关步骤。
在本实施例中,进程控制装置300是以模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,检测模块301、控制模块302、分配模块303、存储模块304以及启动模块305可通过图4所示的终端设备的处理器401来实现。
如图4所示,终端设备400可以以图4中的结构来实现,该终端设备400包括至少一个处理器401,至少一个存储器402、至少一个通信接口403、指纹识别模组404。所述处理器401、所述存储器402和所述通信接口403通过所述通信总线连接并完成相互间的通信。
处理器401可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口403,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器402用于存储执行以上方案的应用程序代码,并由处理器401来控制执行。所述处理器401用于执行所述存储器402中存储的应用程序代码。
存储器402存储的代码可执行以上提供的终端设备执行的图1-图2的进程控制方法,比如若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数;若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
本发明实施例还提供了一个更为具体的应用场景,如下:上述终端设备为手机,下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如进程检测功能、进程状态更改功能,存储空间分配功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如进程的统计信息、进程被查杀记录等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户
设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的至少一种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在
此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
前述实施例中,各步骤方法流程可以基于图5所示的终端设备的结构实现。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种进程控制方法的部分或全部步骤。
本发明实施例还提供了一种计算机程序产品,其中,所述计算机程序产品
包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法中终端设备所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器
中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。
Claims (20)
- 一种进程控制方法,其特征在于,包括:若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数;若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
- 根据权利要求1所述的方法,其特征在于,所述更改所述N个进程的进程状态之前,所述方法还包括:为所述N个进程分配N个存储空间,所述N个存储空间与所述N个进程一一对应;将所述N个进程的统计信息对应存储于所述N个存储空间中。
- 根据权利要求1所述的方法,其特征在于,所述更改所述N个进程的进程状态之前,所述方法还包括:将所述N个进程进行分组,以得到K组进程集,每组进程集包括的进程的类型是相同的;为所述K组进程集分配K个存储空间,所述K个存储空间与所述K组进程集一一对应;将所述K组进程集的统计信息对应存储于所述K个存储空间中。
- 根据权利要求2或3所述的方法,其特征在于,所述统计信息包括进程标识符、进程更改进程状态之前所处的进程状态、进程处于不可中断睡眠状态的时间以及进程的数据信息状态中的至少一种。
- 根据权利要求4所述的方法,其特征在于,操作系统每运行一个进程均会创建一个进程ID,所述进程ID是所述进程标识符,所述进程标识符用于区别不同的进程。
- 根据权利要求1-5任一项所述的方法,其特征在于,若所述N个进程中存在至少一个进程为系统进程,所述更改所述N个进程的进程状态,以及 控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程,包括:所述至少一个系统进程中存在影响所述操作系统正常运作的系统进程,则将内核空间中所有的进程的进程状态更改为退出状态,控制所述操作系统退出所述内核空间中所有的进程以及重启所述操作系统;若所述至少一个系统进程中不存在影响所述操作系统正常运作的系统进程,则将所述N个进程中至少一个进程的进程状态更改为退出状态,以及控制所述操作系统退出所述至少一个进程。
- 根据权利要求1-5任一项所述的方法,其特征在于,所述更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程,包括:若所述N个进程的占用资源位置相同,则将所述N个进程中的N-1个进程的进程状态更改为暂停状态,以及控制所述操作系统暂停所述N-1个进程。
- 根据权利要求2-7任一项所述的方法,其特征在于,若更改所述N个进程的进程状态为退出状态,所述控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程之后,所述方法还包括:若所述内核空间的资源被占用的比例小于或等于第一阈值,根据所述N个进程的统计信息启动所述N个进程;若所述内核空间的资源被占用的比例大于所述第一阈值且小于第二阈值,从所述N个进程中选取出W个进程,以及根据所述W个进程的统计信息启动所述W个进程,所述W个进程的优先级大于或等于所述N个进程中除了所述W个进程之外的进程的优先级,所述W为大于或等于1的整数。
- 根据权利要求1-8任一项所述的方法,其特征在于,所述更改所述N个进程的状态包括:将所述N个进程的进程状态从不可中断睡眠状态更改为退出状态或是更改为暂停状态。
- 一种进程控制装置,其特征在于,包括:检测模块,用于若检测到内核空间中的N个进程处于不可中断睡眠状态的时间超过预设时长,则检测所述N个进程在所述预设时长内是否存在被查杀记录,所述N为大于或等于1的整数;控制模块,用于若所述N个进程在所述预设时长内存在被查杀记录,则更改所述N个进程的进程状态,以及控制操作系统根据更改后的所述N个进程的进程状态运行所述N个进程。
- 根据权利要求10所述的装置,其特征在于,所述装置还包括:第一分配模块,用于为所述N个进程分配N个存储空间,所述N个存储空间与所述N个进程一一对应;第二存储模块,用于将所述N个进程的统计信息对应存储于所述N个存储空间中。
- 根据权利要求10所述的装置,其特征在于,所述装置还包括:分组模块,用于将所述N个进程进行分组,以得到K组进程集,每组进程集包括的进程的类型是相同的;第二分配模块,用于为所述K组进程集分配K个存储空间,所述K个存储空间与所述K组进程集一一对应;第二存储模块,用于将所述K组进程集的统计信息对应存储于所述K个存储空间中。
- 根据权利要求11或12所述的装置,其特征在于,所述统计信息包括进程标识符、进程更改进程状态之前所处的进程状态、进程处于不可中断睡眠状态的时间以及进程的数据信息状态中的至少一种。
- 根据权利要求13所述的装置,其特征在于,操作系统每运行一个进程均会创建一个进程ID,所述进程ID是所述进程标识符,所述进程标识符用于区别不同的进程。
- 根据权利要求10-14任一项所述的装置,其特征在于,若所述N个进程中存在至少一个进程为系统进程,所述控制模块具体用于:所述至少一个系统进程中存在影响所述操作系统正常运作的系统进程,则将内核空间中所有的进程的进程状态更改为退出状态,控制所述操作系统退出所述内核空间中所有的进程以及重启所述操作系统;若所述至少一个系统进程中不存在影响所述操作系统正常运作的系统进程,则将所述N个进程中至少一个进程的进程状态更改为退出状态,以及控制所述操作系统退出所述至少一个进程。
- 根据权利要求10-14任一项所述的装置,其特征在于,所述控制模块具体用于:若所述N个进程的占用资源位置相同,则将所述N个进程中的N-1个进程的进程状态更改为暂停状态,以及控制所述操作系统暂停所述N-1个进程。
- 根据权利要求11-16任一项所述的装置,其特征在于,若更改所述N个进程的进程状态为退出状态,所述装置还包括:启动模块,用于若所述内核空间的资源被占用的比例小于或等于第一阈值,根据所述N个进程的统计信息启动所述N个进程;所述启动模块,还用于若所述内核空间的资源被占用的比例大于所述第一阈值且小于第二阈值,从所述N个进程中选取出W个进程,以及根据所述W个进程的统计信息启动所述W个进程,所述W个进程的优先级大于或等于所述N个进程中除了所述W个进程之外的进程的优先级,所述W为大于或等于1的整数。
- 根据权利要求10-17任一项所述的装置,其特征在于,在更改所述N个进程的状态方面,所述控制模块具体用于:将所述N个进程的进程状态从不可中断睡眠状态更改为退出状态或是更改为暂停状态。
- 一种终端设备,其特征在于,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1至9任一项所述的方法。
- 一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序,所述程序执行时包括如权利要求1-9任一项所述的方法的部分或全部步骤。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP17805846.7A EP3407190A4 (en) | 2016-05-31 | 2017-05-31 | PROCESS CONTROL METHOD AND ASSOCIATED DEVICE |
| US16/122,390 US10754684B2 (en) | 2016-05-31 | 2018-09-05 | Method for controlling process and related device |
| US16/569,041 US10719351B2 (en) | 2016-05-31 | 2019-09-12 | Method for controlling states of processes and related device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610380762.8 | 2016-05-31 | ||
| CN201610380762.8A CN106020962B (zh) | 2016-05-31 | 2016-05-31 | 一种进程控制方法及终端设备 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/122,390 Continuation US10754684B2 (en) | 2016-05-31 | 2018-09-05 | Method for controlling process and related device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017206901A1 true WO2017206901A1 (zh) | 2017-12-07 |
Family
ID=57092087
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/086578 Ceased WO2017206901A1 (zh) | 2016-05-31 | 2017-05-31 | 进程控制方法及相关设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US10754684B2 (zh) |
| EP (1) | EP3407190A4 (zh) |
| CN (1) | CN106020962B (zh) |
| WO (1) | WO2017206901A1 (zh) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106020962B (zh) * | 2016-05-31 | 2019-05-21 | Oppo广东移动通信有限公司 | 一种进程控制方法及终端设备 |
| CN109426563B (zh) * | 2017-08-31 | 2021-07-20 | 华为技术有限公司 | 一种进程管理方法及装置 |
| CN113741712B (zh) * | 2020-05-28 | 2024-06-21 | 北京小米移动软件有限公司 | 电子设备控制方法、装置及存储介质 |
| CN112199679B (zh) * | 2020-09-29 | 2024-07-19 | 珠海豹好玩科技有限公司 | 一种Linux系统下的病毒查杀方法及装置 |
| CN114356537A (zh) * | 2020-10-12 | 2022-04-15 | 华为技术有限公司 | 内存管理方法、电子设备以及计算机可读存储介质 |
| KR20220098992A (ko) * | 2021-01-05 | 2022-07-12 | 현대자동차주식회사 | 커넥티드 카의 원격 서비스 대기시간 관리 방법 및 관리 시스템 |
| CN114035905A (zh) * | 2021-11-19 | 2022-02-11 | 江苏安超云软件有限公司 | 基于虚拟机的故障迁移方法及装置、电子设备和存储介质 |
| CN116991559B (zh) * | 2023-09-25 | 2024-02-02 | 苏州元脑智能科技有限公司 | 不可中断的睡眠状态进程的退出方法和装置 |
| CN118210681B (zh) * | 2024-05-15 | 2024-07-19 | 北京数巅科技有限公司 | 慢盘识别方法、装置、电子设备、存储介质及程序产品 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020194436A1 (en) * | 2001-06-18 | 2002-12-19 | International Business Machines Corporation | Software implementation of synchronous memory Barriers |
| CN1567233A (zh) * | 2003-06-24 | 2005-01-19 | 联想(北京)有限公司 | 一种对操作系统中重要进程进行检测和复位的方法 |
| CN1629821A (zh) * | 2003-12-19 | 2005-06-22 | 华为技术有限公司 | 一种多线程处理器线程死锁检测的方法及其系统 |
| CN102819466A (zh) * | 2012-06-29 | 2012-12-12 | 华为技术有限公司 | 操作系统异常的处理方法及其装置 |
| CN106020962A (zh) * | 2016-05-31 | 2016-10-12 | 广东欧珀移动通信有限公司 | 一种进程控制方法及终端设备 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5943232A (en) * | 1997-10-29 | 1999-08-24 | Lucent Technologies Inc. | Autonomous overload control for distributed real time systems |
| CN100373341C (zh) * | 2005-09-02 | 2008-03-05 | 中兴通讯股份有限公司 | 一种业务进程的分布式分优先级监控方法 |
| US20120324481A1 (en) * | 2011-06-16 | 2012-12-20 | Samsung Electronics Co. Ltd. | Adaptive termination and pre-launching policy for improving application startup time |
| GB2514126A (en) | 2013-05-14 | 2014-11-19 | Ibm | Interruption of chip component managing tasks |
| CN103514053B (zh) * | 2013-09-22 | 2017-01-25 | 中国科学院信息工程研究所 | 一种基于共享内存的进程间通讯方法 |
| CN104023147B (zh) * | 2014-06-27 | 2016-05-11 | 广东欧珀移动通信有限公司 | 一种可使移动终端稳定休眠的方法及系统 |
| CN104391740A (zh) | 2014-11-11 | 2015-03-04 | 上海斐讯数据通信技术有限公司 | 解除死锁的方法 |
| CN105022665A (zh) * | 2015-07-29 | 2015-11-04 | 深圳市鼎智通讯有限公司 | Android锁定长时间未使用app的控制方法及其系统 |
| CN105260019B (zh) * | 2015-10-08 | 2019-04-23 | 广东欧珀移动通信有限公司 | 一种移动终端及信息处理方法 |
-
2016
- 2016-05-31 CN CN201610380762.8A patent/CN106020962B/zh active Active
-
2017
- 2017-05-31 EP EP17805846.7A patent/EP3407190A4/en not_active Ceased
- 2017-05-31 WO PCT/CN2017/086578 patent/WO2017206901A1/zh not_active Ceased
-
2018
- 2018-09-05 US US16/122,390 patent/US10754684B2/en not_active Expired - Fee Related
-
2019
- 2019-09-12 US US16/569,041 patent/US10719351B2/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020194436A1 (en) * | 2001-06-18 | 2002-12-19 | International Business Machines Corporation | Software implementation of synchronous memory Barriers |
| CN1567233A (zh) * | 2003-06-24 | 2005-01-19 | 联想(北京)有限公司 | 一种对操作系统中重要进程进行检测和复位的方法 |
| CN1629821A (zh) * | 2003-12-19 | 2005-06-22 | 华为技术有限公司 | 一种多线程处理器线程死锁检测的方法及其系统 |
| CN102819466A (zh) * | 2012-06-29 | 2012-12-12 | 华为技术有限公司 | 操作系统异常的处理方法及其装置 |
| CN106020962A (zh) * | 2016-05-31 | 2016-10-12 | 广东欧珀移动通信有限公司 | 一种进程控制方法及终端设备 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3407190A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106020962B (zh) | 2019-05-21 |
| US20180365050A1 (en) | 2018-12-20 |
| EP3407190A1 (en) | 2018-11-28 |
| US20200004579A1 (en) | 2020-01-02 |
| US10754684B2 (en) | 2020-08-25 |
| EP3407190A4 (en) | 2019-02-20 |
| CN106020962A (zh) | 2016-10-12 |
| US10719351B2 (en) | 2020-07-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10719351B2 (en) | Method for controlling states of processes and related device | |
| CN106055408B (zh) | 一种应用控制方法及移动终端 | |
| EP3471450B1 (en) | Network bandwidth management method, terminal and computer storage medium | |
| US10474507B2 (en) | Terminal application process management method and apparatus | |
| CN106657251A (zh) | 一种数据同步方法和装置 | |
| CN107368400A (zh) | Cpu监测方法、装置、计算机可读存储介质和移动终端 | |
| CN106776036A (zh) | 一种资源分配方法及装置 | |
| EP3467649B1 (en) | Application control method and related device | |
| CN106775828A (zh) | 应用程序安装方法及装置、计算机设备 | |
| WO2018049903A1 (zh) | 数据迁移方法及相关设备 | |
| CN108334345A (zh) | 应用程序处理方法、装置、可读存储介质和移动终端 | |
| WO2018161543A1 (zh) | 指纹处理资源的控制方法及设备 | |
| CN106066769B (zh) | 一种移动终端的处理方法及移动终端 | |
| CN106484563B (zh) | 一种数据迁移方法及终端设备 | |
| CN106776040A (zh) | 一种资源分配方法及装置 | |
| CN106339862A (zh) | 信息处理的方法及移动终端 | |
| CN106095567B (zh) | 一种安装任务的分配方法及移动终端 | |
| CN106776041B (zh) | 一种数据处理方法及装置 | |
| CN117407133A (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
| CN106802828A (zh) | 一种应用数据处理方法及设备 | |
| CN106604364B (zh) | 一种网络连接的方法、终端及存储介质 | |
| CN111638897B (zh) | 系统更新方法、装置、终端设备及存储介质 | |
| US10514950B2 (en) | Interface switching method, apparatus, and device | |
| CN106802829A (zh) | 一种资源管理方法及设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 2017805846 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2017805846 Country of ref document: EP Effective date: 20180824 |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17805846 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |