Process Explorer is the best utility for viewing and managing processes. Process Explorer is a free utility for monitoring system processes

In this article we will post brief overview programs for describing and modeling business processes.
As we receive information, we will add to the article. brief descriptions programs.
If you know convenient program for business process modeling that is not on our list, please let us know in the comments or via the feedback form.

1. ARIS Express is a tool for modeling business processes, quite easy to install and use, so that it can be used by both novice users and university students. This product belongs to the ARIS (ARchitecture of Integrated Information Systems) family of modeling tools from IDS Scheer (now part of Software AG), widely represented on Russian market, localized several years ago and even provided with Russian-language technical support. The ARIS (ARchitecture of Integrated Information Systems) family of products produced by IDS Scheer includes not only tools for modeling business processes and publishing models, but also integrated tools for developing a balanced scorecard system, assessing and optimizing the cost of business processes, their simulation modeling, tools that simplify the implementation of ERP systems, the design of distributed applications and IT infrastructure, as well as tools for monitoring the execution of business processes. Leading analytical companies Gartner Group and Forrester Research classify IDS Scheer as one of the leaders in the global market for business process modeling and analysis tools.

2. Bizagi Process Modeler - free software for creating process diagrams and documentation in BPMN standard notation.

3. Business Studio - business modeling system from domestic manufacturer, allowing companies to accelerate and simplify the development of their management system and the implementation of a quality management system. Eat free version. Main tasks to be solved:

  • Formalization of the strategy and control of its achievement
  • Design and optimization of business processes
  • Design of organizational structure and staffing
  • Formation and distribution of regulatory documentation among employees
  • Implementation of a quality management system in accordance with ISO standards
  • Formation Technical specifications and support for the implementation of information systems

4. AllFusion Process Modeler - Allows you to describe, analyze and model a data model - a builder of meta-data models. It occupies one of the leading positions in its market segment.
Includes three standard methodologies: IDEF0 (functional modeling), DFD (data flow modeling) and IDEF3 (workflow modeling).

5. - a comprehensive product with convenient user interface, designed to simulate and organize collaboration between both production and IT personnel.

  • Quickly and seamlessly integrate modeling, workflow, and simulation capabilities.
  • Simulation based on data from the warehouse, change reports and real-time performance tools.
  • Monitoring workflows via the Internet using a standard browser.

6.ELMA - Russian development. The business process management system is based on a simple idea: you are building a model of your company’s business processes using visual diagrams (BPMN notation), upload these descriptions into computer system ELMA, and the program allows you to track the execution of processes in the real practice of the enterprise. There is a free version.
In addition to managing sequential tasks that are beneficial to automate, there is a project management module. Existing system control (including through the KPI management module) and reports creates optimal conditions for working in a team, including remotely (especially valuable for branches).
Electronic document management is connected to all modules of the system and provides storage and classification of documents. This saves significant time and reduces the concept of an “irreplaceable worker” to a minimum.
Accounting for clients and access rights has been resolved in the CRM module: an integration function with call centers has appeared. For the average user, ELMA can be useful as an alternative to internal corporate mail and a task management tool.

7. Fox Manager Business Processes Free. A program for building and analyzing business processes, as well as generating reports on the enterprise process model. The program allows you to build a single integral process model of the enterprise. The notation used is close to Basic Flow Chart, which is well known to many for its ease of building business processes. The program automatically builds top-level processes, displaying the interactions of categories and business processes in the form of a visual diagram. The analytical functions of the program allow you to promptly notice and eliminate errors made during the construction of the constructed process model, namely, highlight processes for which no one is responsible, find links to non-existent documents, positions, suppliers or business processes.

There are quite a large number of utilities used to manage in one way or another the processes running in the operating system. Let's consider only the basic utilities. In table 1 shows a list of the main programs designed in one way or another to control processes.

Table1. Process management programs

Program Description

Executes commands at a specific time

Executes commands when the system load allows it

Executes commands according to a predefined schedule

Allows you to work with individual users' crontab files

Stops a process from running

Changes the priority of a process before it starts

Allows a process to run after the user logs out

Displays information about processes

Changes the priority of a running process

Shows who is currently working in the system and with what programs

This utility allows you to organize a background process that continues to work even when the user has disconnected from the terminal, unlike the & command, which does not allow this. To organize a background process, you need to run the following command:

nohup running_background_command &

In a newly launched terminal, the process cannot be seen using the jobs command, since the jobs command lists the processes of the current terminal, so after connecting to the terminal, you must use the ps command with the –A parameter.

The ps program is designed to obtain information about processes existing in the operating system. This command has many different options, but we will focus on the most commonly used ones. To receive detailed information see the man page for this program.

Simply running ps without parameters will produce a list of programs running on the terminal. Usually this list is very small:

PID TTY TIME CMD

885 ttyl 00:00:00 login

893 ttyl 00:00:00 bash

955 ttyl 00:00:00 ps

The first column is pid (process identification number). As already mentioned, each running process in the system receives a unique identifier, with the help of which the process is controlled. Each newly launched process is assigned the next free PID. When a process terminates, its number is released. When the maximum PID is reached, the next free number will be taken from the smallest freed one.

The next column, tty, shows on which terminal the process is running. Running the ps command without parameters will show the processes running on the current terminal.

The time column shows how much CPU time the process is running. It is not the actual time since the process started because Linux is a multitasking operating system. The information listed in the time column shows the time the processor actually spent executing the process.

The CMD(COMMAND) column shows the program name. Only name, options are displayed command line are not displayed.

To obtain an extended list of processes running on the system, use the following command:

The options given to the program in this example cause it to print not only the names of the programs, but also a list of the options with which the programs were run.

A new column has appeared - STAT. This column displays the status of the process. Full list states you can read in the description of the ps program. Let's describe the key states:

– the letter R denotes a running process executing at a given time;

– the letter S denotes a sleeping process - the process is waiting for some event necessary to activate it;

– the letter Z is used to denote “zombied” processes (zombied) - these are processes whose parent process has ceased to exist, leaving child processes as workers.

If you pay attention to the TTY column, you will notice that many processes located at the top of the table contain a "?" in this column. instead of a terminal. This denotes processes launched from a terminal that is no longer active. As a rule, these are all sorts of system services.

If you want to see even more information about running processes, try running the command:

The following columns also appeared:

    USER - shows under which user it was launched this process;

    %CPU, %MEM - show how much processor time and the amount of RAM used, respectively, this process takes;

    TIME - program launch time.

Another utility with which you can obtain information about processes running in the operating system. To use it, simply run the top command. This utility displays a list of processes on the system, sorted in descending order of the resources used.

At the beginning of the message displayed on the screen, there is system-wide information - from it you can find out the startup time of the operating system, the operating time of the operating system since the last system restart, the number of users currently registered in the operating system, as well as the minimum, maximum and average load of the operating system systems. In addition, the total number of processes and their status are displayed, what percentage of system resources are used by user processes and system processes, usage RAM and "swap".

The following is a table that is much like the output of the ps program. The identification number of the process, the user name of the process owner, the priority of the process, the size of the process, its state, the RAM and resource of the central process used by the process, the execution time and, finally, the name of the process.

Once launched, the top utility periodically updates information about the state of processes in the operating system, which allows you to dynamically obtain information about system loading.

The kill program is designed to send appropriate signals to the specified process. As a rule, this happens when some processes begin to behave inappropriately. The most common use of the program is to stop processes from running.

In order to stop a process, you need to know the PID of the process or its name. For example, to kill process 123, just run the following command:

As usual, to terminate a process, the user must be the owner of the process. The root user can terminate any process on the system.

Sometimes the standard kill program doesn't do the job. This is usually because the process is stuck or is performing an operation that, in its opinion, cannot be interrupted immediately. To interrupt this process, you can use the following command:

In general, the kill program is designed to send control signals to processes, one of which is the sigterm (terminate) signal. This signal is sent to a process when it executes the kill program by default. The process that receives this signal must terminate its work correctly (close files in use, reset I/O buffers, etc.). The -9 switch tells the kill program to send a different type of signal to the process - sigkill. This leads to the fact that the process does not terminate correctly, but immediately ceases its activity. In addition to these signals, you have a whole range of different signals at your disposal. A complete list of signals can be obtained using the call for help command.

Another variant of the kill program. Used to terminate processes that have the same name. For example, there are several mc programs running on the system. To terminate these programs at the same time, just run the following command:

Of course, this is not the only use of this command. With its help, you can send signals to a group of processes of the same name. For more information on this command, see its man page.

Changeprocess execution priority

In the Linux operating system, each process has its own execution priority. It's very convenient. Since the operating system is multitasking, a certain amount of time is allocated for the execution of each process. For some tasks you need to allocate more, for others you can allocate less. This is what process priority is for. Process priority is controlled by the nice and renice programs.

The nice program allows you to run a command with a predefined execution priority, which is specified on the command line. During normal startup, all tasks have the same priority, and the operating system distributes CPU time evenly among them. However, you can use the nice utility to lower the priority of a task, thereby giving other processes more CPU time. Only the root user has the right to increase the priority of a particular task. The syntax for using nice is:

nice - number command

The process priority level is determined by the parameter number, a higher value means a lower priority of the process. The default value is 10, and number represents the number by which the priority should be reduced.

For example, the top process has a priority of -5. In order to lower the execution priority of a process by ten, we must run the following command:

As a result, the top process has a priority of 5.

Only the root user can raise the priority of a process using negative parameter value number.

The renice program, unlike the nice program, allows you to change the priority of an already running process. The program launch format is as follows:

renice - number PID

In general, the renice program works exactly the same as nice. The process priority level is determined by the parameter number, a higher value means a lower priority of the process. The default value is 10, and number represents the number by which the process priority should be reduced.

Only the root user can raise the priority of a process using negative the value of the number parameter.

Execute processes at specified times

One of the main tasks of automating operating system administration is executing programs at a given time or with specified frequency. To solve these problems, there are several utilities that allow you to start processes at the right time.

The at command is used to run one or more commands at a predetermined time. In this command you can define the time and date for running a particular command. The at command requires at least two parameters - the execution time of the program and the program to be launched with its launch parameters.

The example below will run the command at 01:01. To do this, enter everything below from the terminal, ending each line with a keystroke and after entering the entire command - +to complete it.

echo “Time is 1:01”

In addition to the time, the at command can also specify the start date of the program for execution.

The root user can use almost any command without restrictions. For regular users, permissions to use the at command are determined by the files /etc/at.allow and /etc/at.deny. The /etc/at.allow file contains a list of those who are allowed to use the at command, and the /etc/at.deny file contains a list of those who are prohibited from using it.

The batch command is basically the same as the at command. Moreover, batch is an alias for the at -b command. The user wants to run a backup in the evening. However, at this time the system is very busy, and performing a system backup practically paralyzes its operation. This is why the batch command exists - its use allows the operating system to decide when the right moment comes to run a task at a time when the system is not heavily loaded.

The batch command format is simply a list of commands to execute, following the command on the lines; the list ends with a key combination +. You can also put the list of commands in a file and redirect it to standard input batch commands

Cron is a program that runs jobs on a schedule, but unlike the at command, it allows you to run jobs multiple times. You define the times and dates when a particular program should run. Times and dates can be specified in minutes, hours, days of the month, months of the year and days of the week.

The cron program runs once, once when the system boots. When cron starts, it checks the at job queue and user jobs in the crontab files. If no jobs were found to run, cron will perform the next check in a minute.

Processes provide “life” to a computer, just as they can bring them to “death”.

Therefore, it is advisable to check them from time to time. Special programs have been created for this.

One of them is PC Hunter. It is designed with the same purpose as Task Manager, but with much more a large number options.

The program is made to view, check and manage (close) computer processes to help detect viruses and provide access to information about books, hardware, software, networks and much more.

You don't need to install it - it's portable. You can download it from the link at the end of the post. There in the archive you will find two versions for 32 and 64 bits.

You will be surprised when you run it and see how well the system can be inspected.

The only drawback is that there is no Russian language, but there are plenty of options from the point of view of system analysis.

Features of the program for computer processes - PC Hunter

In the main window, you will see a rich menu that includes viewing processes, modules, networks, entries, files, boot information, management and much more.

Viewing is carried out in the “process” menu. You can delete it or close it. To delete, select it and right-click, then click on the line “Delete file after termination”.

If the process is unknown, you can check it by clicking on the “Analyze online” line. To close the process, click on the word “Kill”.

As you can see, despite English language, management occurs without complications.

PC Hunter will show you every part of the system in detail and let you choose from different actions for each file or process that interests you.


For example, you can scan processes and files to close or delete unnecessary files.

Just be careful, incorrect changes to important system files computer may cause problems.

In conclusion, PC Hunter is very good, rich in information that offers advanced analysis of your system. The program works on all current Windows versions, including Windows 10. Good luck.

Developer:
http://www.epoolsoft.com/

OS:
XP, Windows 7, 8, 10

Interface:
English

Control program SRV– an analogue of the OS, manages processes and resource allocation in the SRV, starts and stops the corresponding processes for processing input signals and distributes memory and processor resources. However, control programs usually lack more complex tools inherent to the OS, such as file management tools.

Despite the fact that on the market software products There are several RTS control programs; they are often designed independently as parts of systems due to the special requirements for specific RTSs.

The components of the control program (Fig. 2.1) depend on the size and complexity of the designed control system. Typically, control programs, with the exception of the simplest ones, consist of the following components.

1. Real time clock a component of a control program that periodically provides information for process planning.

2. Interrupt handler a control program component that manages aperiodic requests to services.

Z. Scheduler program a control program component that looks through the list of processes that are scheduled to run and selects one of them.

4. Resource Administrator a control program component that, having received a process scheduled for execution, allocates necessary resources memory and processor.

5. Dispetcher (core) a component of a control program that launches a process for execution.

Rice. 2.1. Components of a real-time control program

Input signals processed by the RTS usually have several priority levels. For some signals, such as those associated with exception situations, it is important that their processing is completed within a certain time interval. If a higher priority process requests a service, then other processes must be suspended. As a result, the system administrator must be able to manage at least two levels of system process priorities.

1. Interrupt level system processes– the highest level of priority assigned to those processes that need to be responded to quickly. An example of such a process would be the real-time clock process.

2. Clock level The priority level of system processes that is assigned to periodic processes.

Another level of priorities may be background processes, the implementation of which is not subject to strict time restrictions (for example, the self-testing process). These processes run when there are free processor resources.

Within each priority level, different classes of processes can be assigned different priorities. For example, there may be multiple interrupt levels. To avoid data loss, an interrupt from a faster device must preempt interrupt processing from a slower device.

Process management– this is the selection of a process for execution, the allocation of memory and processor resources for it, and the launch of the process.

Periodic processes are processes that must be performed at a fixed, predetermined period of time (for example, when collecting data or controlling actuators). The SRV control program uses its real-time clock to determine when the process starts. Most RTSs have several classes of periodic processes with different periods (time intervals between process executions) and execution durations. The control program must be able to select the process assigned for execution at any time.

A real-time clock is configured to periodically emit a clock signal, usually with a period of a few milliseconds between signals. The clock signal initiates an interrupt-level process that runs a process scheduler to manage periodic processes. An interrupt-level process typically does not itself manage periodic processes because interrupt processing must complete as quickly as possible.

The actions performed by the control program when controlling periodic processes are shown in Fig. 2.2. The scheduler looks through the list of periodic processes and selects one process from it to run. The choice depends on the priority of the process, the period of the process, the expected duration of execution and the deadline for completing the process. Sometimes, in the same period between clock signals, two processes with different execution times need to be executed. In such a situation, one process must be suspended for a time corresponding to its duration.

Rice. 2.2. Actions of the control program when the process starts

If an interrupt is registered by the control program, this means that a request has been made to one of the services. The interrupt mechanism transfers control to a predefined memory location that contains a command to switch to interrupt services. This program should be simple, short and quick to execute. While interrupts are being serviced, all other interrupts are ignored by the system. To reduce the likelihood of data loss, the time the system remains in this state should be minimal.

A program performing a service function must block access to subsequent interrupts so as not to interrupt itself. It must identify the cause of the interrupt and initiate a high-priority process to handle the signal that caused the interrupt. In some high-speed data acquisition systems, the interrupt handler stores for later processing the data that was in the buffer when the interrupt was received. After processing the interrupt, control returns to control program.

At any given time there can be several processes assigned to execution with at different levels priorities. The scheduler sets the order in which processes are executed. Effective planning plays an important role if the requirements of the EAS are to be met. There are two main strategies for process planning.

1. Non-preemptive scheduling process scheduling strategy, when one process is scheduled for execution, it starts and runs to completion, or is blocked for some reason while waiting for data input. This type of scheduling can cause problems in that, in the case of multiple processes with different priorities, the high priority process must wait for the low priority process to complete.

2. Preemptive scheduling– a process scheduling strategy where the execution of a process can be suspended if the service receives requests from processes with higher priority. A process with a higher priority level takes precedence over a process with a lower priority level and is therefore allocated CPU.

Many different scheduling algorithms have been developed within these strategies. These include round-robin scheduling, in which each process is executed in turn, and rate-based scheduling, in which short-running processes are given higher priority the first time they execute. Each scheduling algorithm has certain advantages and disadvantages.

Information about the process assigned to execution is transmitted to the resource administrator. It allocates the necessary memory for the selected process, and in a multiprocessor system, it also allocates the processor. The process is then placed on the "destination list", i.e. to the list of processes scheduled for execution. When the processor finishes executing a process and becomes free, the dispatcher is called. It looks through the available list, selects a process that can be executed on a free processor, and starts it for execution.

Most people use computers without thinking about how they work. Using the principle, it works well, it’s not exactly fast, but it works, but it still works, it’s also good, the shortcomings can be overcome. But when the finish line comes, the hardware remains working, but the operating room refuses to work, then we go to people who can improve our tragic situation. These craftsmen, professionals or amateurs, use some utilities that can show how individual components in the operating system interact, what is connected to what. This series includes free utility monitoring processes in the system in real time Process Explorer.

There is no installation of Process Explorer as such, we simply download the archive with the program, unpack it and run it, getting our hands on a powerful research tool for the operation of the operating system.

The working part of the program consists of two parts. At the top, all active processes are displayed in a tree structure. We see the relationship of all processes and in addition to this in the table we can get comprehensive information: process owner, processor load, memory usage, process descriptor and this is only a small part of everything. Just select the displayed columns setting and you will understand how much additional information can be obtained. The bottom part displays the dynamic libraries used or open files, the registry keys involved. The display mode is switched by clicking on the icon.

The “System Information” dialog box is called up separately, where the graphical form CPU load, memory usage, usage physical memory, speed network connections. Data from applications that make the most use of a particular resource are displayed in different colors. Of course, other system data is also presented, which changes in real time.

The notification area also contains the Process Explorer icon, which displays current load processor (you can also add network activity and memory usage), when you hover over the icon, a window pops up showing the total system load and the percentage of load of individual programs (those that give the greatest load).

When selecting any process or running program we are given complete statistical information: running threads, work with network protocols, general data, performance in graphical and digital form, environmental parameters, safety parameters.

On click right button You can use the mouse to assign process priority, completely pause and then resume the application (convenient when you need all the power of the system and some applications load it beyond childish, and you don’t want to lose the result of work already done), bind thread execution to specific processors in multiprocessor systems , termination of execution of one process or the entire tree.

It is possible to search for processes that load certain libraries or open certain descriptors.

Of course, you can turn off the computer from Process Explorer, reboot, lock, or put it into sleep mode.

And finally, the last ones, in my opinion, useful features, this is to drag the selected program to the foreground (some windows are simply impossible to reach; they go beyond visible limits, and there is no icon in the taskbar, which is suitable for this case), or by dragging a special icon, select the corresponding processes in the process panel given application. And the ability to install the excellent Process Explorer instead of the limited and flawed Task Manager.

For me, Process Explorer is an excellent replacement for Task Manager, which has a bunch of additional features, making it clear how individual parts of the operating system and individual programs are interconnected. It's good to tune software system when individual programs behave strangely, taking up a lot of system resources, or not transferring a multiprocessor configuration. I also start to use it quite actively when I try to create programs on my own, sometimes it turns out that I can make discoveries for myself during a detailed examination of my own creations.

Works great in 32 and 64 bit operating systems. The program only offers one language and that is English.

Process Explorer installation home page http://www.sysinternals.com

Process Explorer free download page http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

The latest version at the time of writing is Process Explorer 11.33

Share