How Do You Ensure All Processes Are Finished Before Continuing Python

A Process is a program that is being executed (processed). A process may not have to be one run explicitly by the user, it could be a system process spawned by the operating system. Any applications that execute on an operating system firstly creates a process of its own in order to execute. In a typical OS installation, most processes are os services and background applications, that are run to maintain the operating system, software and hardware.
In this article, we will take a look at different ways of obtaining the list of running processes of a Windows OS, through Python. Firstly, we would describe a python method in order to achieve the result and then would look at a command found in the Windows Command Processor for the same.
Method 1:
We would be using the wmi library for getting the list of running processes on Windows OS. In order the install the module, execute the following command in the command interpreter of your operating system:-

pip install wmi        

COde:

Python3

import wmi

f = wmi.WMI()

print ( "pid   Process name" )

for process in f.Win32_Process():

print (f "{process.ProcessId:<10} {process.Name}" )

Output:

3196       RuntimeBroker.exe 3524       ShellExperienceHost.exe 3548       SearchIndexer.exe 3796       SearchUI.exe 4136       IDMan.exe 4368       IEMonitor.exe 4488       notepad.exe 2616       SettingSyncHost.exe 4212       dasHost.exe 4664       AdaptiveSleepService.exe 4716       svchost.exe 5412       chrome.exe 1376       chrome.exe 1280       cmd.exe 4928       conhost.exe 5596       py.exe 5060       python.exe 1508       WmiPrvSE.exe        

Explanation:
Firstly, we initialize the WMI() function of wmi library. This allows us to use the functions found inside it such as WMI.Win32_Service, WMI.Win32_Process, WMI.Win32_Printjob which are designed to perform different tasks. We would be using the WMI.Win32_Process function in order to get the list of running processes on the system. Then we called the function WMI.Win32_Process() to get the running processes, iterated through each process and stored in variable process. Then we obtained the ProcessID (pid) and ProcessName (name) of the process using the associated attributes. We used F-strings for the output in order to add padding to the output to align it properly.

Method 2:
In this method, we would be using a command found inside the Windows Command Processor (cmd.exe) under the name WMIC ( Windows Management Instrumentation Command line) in order to get the desired result. WMIC is a commandline utility that allows users to performs Windows Management Instrumentation (WMI) operations with a command prompt. For the purpose of getting running processes, we would be executing the command:

wmic process get description, processid        

Code:

Python3

import os

output = os.popen( 'wmic process get description, processid' ).read()

print (output)

Output:

Description               ProcessId  System Idle Process       0 System                    4 smss.exe                  340 csrss.exe                 460 wininit.exe               604 csrss.exe                 624 winlogon.exe              692 services.exe              736 lsass.exe                 756 svchost.exe               844 svchost.exe               904 dwm.exe                   1012 svchost.exe               80 svchost.exe               420 atiesrxx.exe              1076 svchost.exe               1992 svchost.exe               2032 MsMpEng.exe               2052 NisSrv.exe                2852 sihost.exe                3032 taskhostw.exe             2148 GoogleCrashHandler.exe    2712 GoogleCrashHandler64.exe  2704 explorer.exe              2892 RuntimeBroker.exe         3196 ShellExperienceHost.exe   3524 SearchIndexer.exe         3548 chrome.exe                1340 chrome.exe                2216        

Note: It is not mandatory to use the os library for the purpose. The user could pick any other alternatives (Subprocess, shutil etc) which allows for commandline command execution.
Explanation:
We used the function popen() found inside the os module, in order to execute the command in the command processor. Then we passed the output of the above command to read() in order to get data in readable form out of os._wrap_close object. In the end, we displayed the output.

Method 3:

We will use the subprocess module to interact with cmd and to retrieve information into your python ide. we can read the cmd command through the subprocess module.

Let's see this logic, if we run this wmic process list brief code into our terminal then we got like this:

Approach:

  • import module
  • Get the output for the command "wmic process list brief " using subprocess.check_output()
  • Now get the Split the string and arrange your data with your own needs.

Code:

Python3

import subprocess

Data = subprocess.check_output([ 'wmic' , 'process' , 'list' , 'brief' ])

a = str (Data)

try :

for i in range ( len (a)):

print (a.split( "\\r\\r\\n" )[i])

except IndexError as e:

print ( "All Done" )

Output:

b'HandleCount  Name                                                                Priority  ProcessId  ThreadCount  WorkingSetSize   0            System Idle Process                                                 0         0          8            8192             5649         System                                                              8         4          222          1835008          0            Registry                                                            8         120        4            33910784         89           smss.exe                                                            11        516        2            532480           815          csrss.exe                                                           13        652        13           2019328          217          wininit.exe                                                         13        740        1            3239936          781          services.exe                                                        9         812        8            8294400          1843         lsass.exe                                                           9         832        7            14864384         86           svchost.exe                                                         8         1020       1            1351680          32           fontdrvhost.exe                                                     8         308        5            196608           1526         svchost.exe                                                         8         8          12           38608896         270          WUDFHost.exe                                                        8         592        5            2097152          1479         svchost.exe                                                         8         1056       11           16363520         541          svchost.exe                                                         8         1104       15           4509696          279          svchost.exe                                                         8         1260       3            2584576          146          svchost.exe                                                         8         1284       1            6389760          214          svchost.exe                                                         8         1300       3            3452928          327          svchost.exe                                                         8         1308       6            5795840          345          svchost.exe                                                         8         1332       13           10571776         395          svchost.exe                                                         8         1452       7            5079040          261          svchost.exe                                                         8         1460       5            5914624          161          svchost.exe                                                         8         1472       2            4902912          390          svchost.exe                                                         8         1580       11           9826304          348          WUDFHost.exe                                                        13        1652       12           11526144         225          svchost.exe                                                         8         1736       2            10473472         205          svchost.exe                                                         8         1744       1            2093056          278          svchost.exe                                                         8         1752       2            4444160          174          svchost.exe                                                         8         1824       4            4063232          224          svchost.exe                                                         8         1832       6            3821568          593          svchost.exe                                                         8         2024       5            7610368          186          svchost.exe                                                         8         1424       2            5058560          168          igfxCUIService.exe                                                  8         2120       2            3579904          435          svchost.exe                                                         8         2188       6            12341248         279          svchost.exe                                                         8         2220       10           5017600          227          svchost.exe                                                         8         2296       3            7024640          221          svchost.exe                                                         8         2308       3            1908736          384          svchost.exe                                                         8         2396       7            8499200          0            Memory Compression                                                  8         2424       54           298409984        240          svchost.exe                                                         8         2440       2            4845568          179          svchost.exe                                                         8         2476       5            3567616          239          svchost.exe                                                         8         2660       8            5775360          3352         svchost.exe                                                         8         2684       9            6230016          225          svchost.exe                                                         8         2816       2            4804608          487          svchost.exe                                                         8         2872       7            9641984          473          svchost.exe                                                         8         2912       4            13836288         142          svchost.exe                                                         8         3032       4            2727936          633          svchost.exe                                                         8         3048       3            16154624         555          svchost.exe                                                         8         2072       14           12455936         267          svchost.exe                                                         8         2936       4            7462912          465          spoolsv.exe                                                         8         3168       7            4685824          420          svchost.exe                                                         8         3200       10           8019968          187          svchost.exe                                                         8         3324       6            2433024          174          svchost.exe                                                         8         3572       2            2650112          416          svchost.exe                                                         8         3584       5            13344768         540          svchost.exe                                                         8         3592       10           24936448         161          IntelCpHDCPSvc.exe                                                  8         3604       3            2052096          406          svchost.exe                                                         8         3612       19           25100288        

goodrichhavistries.blogspot.com

Source: https://www.geeksforgeeks.org/python-get-list-of-running-processes/

0 Response to "How Do You Ensure All Processes Are Finished Before Continuing Python"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel