# Capturing and Handling Operating System Command Output in R

# In data analysis, it’s often necessary to interact with the operating system (OS) directly, either to retrieve information about the system’s status or to gather data for processing. In R, this can be done by running system commands within R scripts. By capturing the output of these commands, I can incorporate system-level insights directly into my R workflow, making it a powerful tool for tasks that require monitoring system resources or extracting OS-specific information. This essay explores various methods for capturing and handling OS command output in R, focusing on functions that return character vectors and those that return data frames.

# Capturing Command Output as a Character Vector

# Base R provides two primary functions for executing system commands and capturing their output as character vectors: `system` and `system2`. These functions execute commands in the OS shell and capture the result. To capture the output of the command as a character vector, I set the `intern` parameter to `TRUE` for `system`, or `stdout` to `TRUE` for `system2`. Here’s an example that retrieves system information using the `top` command, which displays processes running on the machine:
# Using system
# Use tasklist on Windows
system("tasklist", intern = TRUE)
##   [1] ""                                                                            
##   [2] "Image Name                     PID Session Name        Session#    Mem Usage"
##   [3] "========================= ======== ================ =========== ============"
##   [4] "System Idle Process              0 Services                   0          8 K"
##   [5] "System                           4 Services                   0         12 K"
##   [6] "Registry                        88 Services                   0     17,888 K"
##   [7] "smss.exe                       404 Services                   0        152 K"
##   [8] "csrss.exe                      692 Services                   0        732 K"
##   [9] "csrss.exe                      780 Console                    1      1,916 K"
##  [10] "wininit.exe                    788 Services                   0        456 K"
##  [11] "winlogon.exe                   844 Console                    1      2,172 K"
##  [12] "services.exe                   908 Services                   0      4,496 K"
##  [13] "lsass.exe                      952 Services                   0     10,788 K"
##  [14] "svchost.exe                    492 Services                   0     22,888 K"
##  [15] "fontdrvhost.exe                484 Console                    1        412 K"
##  [16] "fontdrvhost.exe                  8 Services                   0        656 K"
##  [17] "WUDFHost.exe                   668 Services                   0        620 K"
##  [18] "svchost.exe                   1128 Services                   0     14,864 K"
##  [19] "svchost.exe                   1180 Services                   0      3,264 K"
##  [20] "dwm.exe                       1252 Console                    1     65,128 K"
##  [21] "svchost.exe                   1324 Services                   0     10,260 K"
##  [22] "svchost.exe                   1388 Services                   0      1,624 K"
##  [23] "svchost.exe                   1400 Services                   0      3,580 K"
##  [24] "svchost.exe                   1412 Services                   0      3,068 K"
##  [25] "svchost.exe                   1480 Services                   0      2,800 K"
##  [26] "svchost.exe                   1488 Services                   0      3,756 K"
##  [27] "svchost.exe                   1524 Services                   0      1,040 K"
##  [28] "svchost.exe                   1612 Services                   0      2,312 K"
##  [29] "IntelCpHDCPSvc.exe            1656 Services                   0         16 K"
##  [30] "svchost.exe                   1740 Services                   0      6,512 K"
##  [31] "svchost.exe                   1752 Services                   0      4,432 K"
##  [32] "svchost.exe                   1776 Services                   0      3,904 K"
##  [33] "svchost.exe                   1896 Services                   0      7,460 K"
##  [34] "IntelCpHeciSvc.exe            2000 Services                   0         16 K"
##  [35] "svchost.exe                    684 Services                   0      5,068 K"
##  [36] "svchost.exe                   1868 Services                   0      4,356 K"
##  [37] "svchost.exe                   2168 Services                   0      1,636 K"
##  [38] "svchost.exe                   2184 Services                   0      5,076 K"
##  [39] "svchost.exe                   2232 Services                   0      4,028 K"
##  [40] "svchost.exe                   2240 Services                   0        904 K"
##  [41] "svchost.exe                   2268 Services                   0      1,220 K"
##  [42] "svchost.exe                   2440 Services                   0        204 K"
##  [43] "Memory Compression            2448 Services                   0     59,164 K"
##  [44] "svchost.exe                   2552 Services                   0      1,640 K"
##  [45] "igfxCUIService.exe            2572 Services                   0         16 K"
##  [46] "svchost.exe                   2664 Services                   0      1,356 K"
##  [47] "svchost.exe                   2672 Services                   0      1,412 K"
##  [48] "TouchpointAnalyticsClient     2836 Services                   0     21,200 K"
##  [49] "svchost.exe                   3044 Services                   0        756 K"
##  [50] "svchost.exe                   3124 Services                   0      6,380 K"
##  [51] "svchost.exe                   3176 Services                   0      9,168 K"
##  [52] "svchost.exe                   3352 Services                   0      2,008 K"
##  [53] "svchost.exe                   3572 Services                   0      1,124 K"
##  [54] "svchost.exe                   3616 Services                   0     11,100 K"
##  [55] "svchost.exe                   3680 Services                   0      1,320 K"
##  [56] "svchost.exe                   3784 Services                   0        852 K"
##  [57] "svchost.exe                   3832 Services                   0      2,392 K"
##  [58] "svchost.exe                   3840 Services                   0      1,468 K"
##  [59] "svchost.exe                   3848 Services                   0      2,192 K"
##  [60] "svchost.exe                   4028 Services                   0      3,464 K"
##  [61] "svchost.exe                   4088 Services                   0      6,168 K"
##  [62] "svchost.exe                   1832 Services                   0      2,252 K"
##  [63] "spoolsv.exe                   3024 Services                   0        356 K"
##  [64] "svchost.exe                   3100 Services                   0      3,688 K"
##  [65] "svchost.exe                   2952 Services                   0      1,820 K"
##  [66] "unsecapp.exe                  4308 Services                   0      2,076 K"
##  [67] "WmiPrvSE.exe                  4360 Services                   0      6,140 K"
##  [68] "svchost.exe                   4644 Services                   0     20,580 K"
##  [69] "svchost.exe                   4660 Services                   0     13,576 K"
##  [70] "ETDService.exe                4684 Services                   0          8 K"
##  [71] "OneApp.IGCC.WinService.ex     4736 Services                   0      7,632 K"
##  [72] "svchost.exe                   4760 Services                   0      2,624 K"
##  [73] "svchost.exe                   4828 Services                   0      2,424 K"
##  [74] "RtkAudUService64.exe          4880 Services                   0      1,284 K"
##  [75] "RtkBtManServ.exe              4892 Services                   0      1,372 K"
##  [76] "svchost.exe                   4912 Services                   0      1,028 K"
##  [77] "SynAudSrv.exe                 4936 Services                   0        780 K"
##  [78] "CxAudioSvc.exe                4952 Services                   0      8,888 K"
##  [79] "svchost.exe                   5032 Services                   0        264 K"
##  [80] "svchost.exe                   5068 Services                   0      8,312 K"
##  [81] "ETDCtrlHelper.exe              716 Console                    1         28 K"
##  [82] "AggregatorHost.exe            1668 Services                   0      1,628 K"
##  [83] "esif_uf.exe                   5172 Services                   0        800 K"
##  [84] "svchost.exe                   1464 Services                   0      3,928 K"
##  [85] "svchost.exe                  11920 Services                   0      7,208 K"
##  [86] "svchost.exe                  12204 Services                   0      6,648 K"
##  [87] "svchost.exe                   1940 Services                   0      5,628 K"
##  [88] "svchost.exe                   5124 Services                   0      1,680 K"
##  [89] "MoUsoCoreWorker.exe           6020 Services                   0      2,548 K"
##  [90] "svchost.exe                   2288 Services                   0      2,596 K"
##  [91] "svchost.exe                   3952 Services                   0      1,300 K"
##  [92] "ETDCtrl.exe                  12156 Console                    1      3,092 K"
##  [93] "sihost.exe                   11804 Console                    1     13,160 K"
##  [94] "svchost.exe                  11872 Console                    1      1,040 K"
##  [95] "svchost.exe                    436 Console                    1      2,984 K"
##  [96] "svchost.exe                   3520 Console                    1        964 K"
##  [97] "svchost.exe                   5024 Console                    1     11,780 K"
##  [98] "svchost.exe                  12368 Services                   0      9,936 K"
##  [99] "igfxEM.exe                   12384 Console                    1      1,448 K"
## [100] "taskhostw.exe                12464 Console                    1      9,192 K"
## [101] "ETDTouch.exe                 12596 Console                    1        564 K"
## [102] "explorer.exe                 12940 Console                    1    101,636 K"
## [103] "RtkAudUService64.exe         12952 Console                    1      2,544 K"
## [104] "svchost.exe                  12744 Console                    1     17,348 K"
## [105] "svchost.exe                    712 Services                   0      4,024 K"
## [106] "StartMenuExperienceHost.e    13416 Console                    1     11,984 K"
## [107] "RuntimeBroker.exe            13508 Console                    1      7,976 K"
## [108] "RuntimeBroker.exe            13604 Console                    1      9,460 K"
## [109] "svchost.exe                  13760 Console                    1      2,468 K"
## [110] "dllhost.exe                  13996 Console                    1      3,908 K"
## [111] "TextInputHost.exe            12812 Console                    1     42,880 K"
## [112] "svchost.exe                  15188 Console                    1     10,764 K"
## [113] "SecurityHealthSystray.exe    14900 Console                    1      2,632 K"
## [114] "SecurityHealthService.exe    15184 Services                   0      6,564 K"
## [115] "RtkAudUService64.exe         15132 Console                    1      2,608 K"
## [116] "HPSystemEventUtilityBackg    15968 Console                    1      8,292 K"
## [117] "svchost.exe                  15716 Services                   0      1,176 K"
## [118] "unsecapp.exe                 16332 Console                    1      3,328 K"
## [119] "HPMediaNetwork.exe           15620 Console                    1      4,172 K"
## [120] "svchost.exe                    428 Services                   0      3,828 K"
## [121] "DesktopExtension.exe         16492 Console                    1      4,392 K"
## [122] "HP.myHP.exe                  16572 Console                    1      5,060 K"
## [123] "RuntimeBroker.exe            16620 Console                    1      1,544 K"
## [124] "svchost.exe                   2764 Console                    1      1,592 K"
## [125] "svchost.exe                  15304 Services                   0      1,656 K"
## [126] "ApplicationFrameHost.exe     15276 Console                    1      2,396 K"
## [127] "svchost.exe                  16408 Services                   0        688 K"
## [128] "svchost.exe                  14604 Services                   0      1,084 K"
## [129] "svchost.exe                  16388 Console                    1      4,860 K"
## [130] "UserOOBEBroker.exe           17012 Console                    1      3,596 K"
## [131] "svchost.exe                  12720 Services                   0      8,920 K"
## [132] "svchost.exe                   2532 Console                    1      8,592 K"
## [133] "LocationNotificationWindo    14816 Console                    1        216 K"
## [134] "svchost.exe                  16552 Services                   0      4,512 K"
## [135] "svchost.exe                  19300 Services                   0      1,204 K"
## [136] "svchost.exe                  13968 Console                    1      1,440 K"
## [137] "dllhost.exe                  10064 Console                    1      2,084 K"
## [138] "svchost.exe                   9468 Services                   0        620 K"
## [139] "svchost.exe                  10760 Services                   0      1,860 K"
## [140] "dllhost.exe                   5764 Console                    1      4,408 K"
## [141] "com.geocomply.process-sca     9028 Services                   0     13,396 K"
## [142] "com.geocomply.vm-detector    10532 Services                   0        808 K"
## [143] "crash_handler.exe             6824 Services                   0      1,000 K"
## [144] "crash_handler.exe             7556 Services                   0        972 K"
## [145] "com.geocomply.wifi-scanne     6768 Services                   0        820 K"
## [146] "crash_handler.exe            10316 Services                   0        972 K"
## [147] "com.geocomply.internal-up    13436 Services                   0        812 K"
## [148] "crash_handler.exe            11364 Services                   0        992 K"
## [149] "service.exe                  11432 Services                   0        644 K"
## [150] "crash_handler.exe             9600 Services                   0        976 K"
## [151] "PlayerLocationIcon.exe       11800 Console                    1      2,944 K"
## [152] "taskhostw.exe                 9332 Console                    1      1,392 K"
## [153] "svchost.exe                   3532 Services                   0     11,984 K"
## [154] "svchost.exe                   9724 Services                   0        992 K"
## [155] "LockApp.exe                  19512 Console                    1      1,704 K"
## [156] "RuntimeBroker.exe            19564 Console                    1      6,600 K"
## [157] "ctfmon.exe                    8104 Console                    1      8,788 K"
## [158] "ShellExperienceHost.exe      20764 Console                    1     11,872 K"
## [159] "RuntimeBroker.exe             6444 Console                    1      5,280 K"
## [160] "SystemSettingsBroker.exe      8756 Console                    1      7,328 K"
## [161] "MpDefenderCoreService.exe    19184 Services                   0      9,572 K"
## [162] "MsMpEng.exe                  19736 Services                   0    147,380 K"
## [163] "NisSrv.exe                   11068 Services                   0      3,472 K"
## [164] "dllhost.exe                   7256 Console                    1        552 K"
## [165] "svchost.exe                   5976 Services                   0        904 K"
## [166] "SearchHost.exe               14024 Console                    1      4,620 K"
## [167] "OfficeClickToRun.exe         18588 Services                   0      7,812 K"
## [168] "AppVShNotify.exe             18984 Console                    1         28 K"
## [169] "WINWORD.EXE                    520 Console                    1     20,344 K"
## [170] "ai.exe                       16652 Console                    1      1,212 K"
## [171] "ai.exe                       11176 Console                    1        344 K"
## [172] "SearchIndexer.exe             7976 Services                   0     16,416 K"
## [173] "SysInfoCap.exe               10812 Services                   0      4,824 K"
## [174] "AppHelperCap.exe              2616 Services                   0      6,872 K"
## [175] "NetworkCap.exe               11352 Services                   0         20 K"
## [176] "DiagsCap.exe                 18812 Services                   0      1,732 K"
## [177] "svchost.exe                   4340 Services                   0      4,616 K"
## [178] "hp-one-agent-service.exe     10228 Services                   0      4,952 K"
## [179] "chrome.exe                     816 Console                    1    116,616 K"
## [180] "chrome.exe                    8128 Console                    1      1,756 K"
## [181] "chrome.exe                   12280 Console                    1     79,972 K"
## [182] "chrome.exe                   11444 Console                    1     23,140 K"
## [183] "chrome.exe                   20508 Console                    1      6,080 K"
## [184] "chrome.exe                    7040 Console                    1      3,460 K"
## [185] "chrome.exe                    6336 Console                    1      8,168 K"
## [186] "chrome.exe                    5812 Console                    1      6,900 K"
## [187] "rstudio.exe                  15048 Console                    1     65,072 K"
## [188] "rstudio.exe                   3120 Console                    1     84,080 K"
## [189] "rstudio.exe                  10884 Console                    1      9,456 K"
## [190] "rstudio.exe                   2720 Console                    1    234,924 K"
## [191] "svchost.exe                  15500 Services                   0      3,236 K"
## [192] "HPSystemEventUtilityHost.    18524 Console                    1      2,956 K"
## [193] "OneDrive.exe                 15436 Console                    1     62,968 K"
## [194] "chrome.exe                    5640 Console                    1    443,240 K"
## [195] "BridgeCommunication.exe       6636 Console                    1      2,264 K"
## [196] "chrome.exe                   21764 Console                    1     11,804 K"
## [197] "chrome.exe                   14140 Console                    1      7,320 K"
## [198] "chrome.exe                    7132 Console                    1     12,832 K"
## [199] "chrome.exe                   21304 Console                    1      8,652 K"
## [200] "chrome.exe                   21880 Console                    1      4,260 K"
## [201] "chrome.exe                   18264 Console                    1    215,504 K"
## [202] "rsession-utf8.exe            19780 Console                    1     96,420 K"
## [203] "conhost.exe                  22152 Console                    1        724 K"
## [204] "crashpad_handler.exe         20248 Console                    1        620 K"
## [205] "chrome.exe                   21744 Console                    1     16,672 K"
## [206] "chrome.exe                    6516 Console                    1      6,388 K"
## [207] "chrome.exe                   16036 Console                    1      4,124 K"
## [208] "chrome.exe                   15232 Console                    1     10,588 K"
## [209] "chrome.exe                    9340 Console                    1      7,632 K"
## [210] "SnippingTool.exe             15424 Console                    1     12,880 K"
## [211] "chrome.exe                   20592 Console                    1      8,688 K"
## [212] "chrome.exe                   21816 Console                    1      6,896 K"
## [213] "chrome.exe                    5744 Console                    1      6,436 K"
## [214] "svchost.exe                  21972 Services                   0        708 K"
## [215] "msedge.exe                   19100 Console                    1     46,340 K"
## [216] "msedge.exe                   15068 Console                    1      1,924 K"
## [217] "msedge.exe                   21980 Console                    1     34,780 K"
## [218] "msedge.exe                   19536 Console                    1     12,484 K"
## [219] "msedge.exe                    6852 Console                    1      4,948 K"
## [220] "msedge.exe                   10748 Console                    1      8,164 K"
## [221] "RuntimeBroker.exe            18212 Console                    1      6,944 K"
## [222] "svchost.exe                   9184 Services                   0      2,644 K"
## [223] "svchost.exe                   9832 Services                   0      3,684 K"
## [224] "Widgets.exe                    812 Console                    1     15,528 K"
## [225] "WidgetService.exe            20768 Console                    1      2,340 K"
## [226] "msedgewebview2.exe           11008 Console                    1      5,120 K"
## [227] "msedgewebview2.exe            5608 Console                    1      1,316 K"
## [228] "msedgewebview2.exe           21944 Console                    1      3,928 K"
## [229] "msedgewebview2.exe           12128 Console                    1        956 K"
## [230] "msedgewebview2.exe           13460 Console                    1         16 K"
## [231] "msedgewebview2.exe             304 Console                    1      1,020 K"
## [232] "msedgewebview2.exe           11544 Console                    1        720 K"
## [233] "chrome.exe                    7236 Console                    1     30,136 K"
## [234] "audiodg.exe                  21076 Services                   0     15,892 K"
## [235] "msedge.exe                   15744 Console                    1     19,160 K"
## [236] "msedge.exe                   16672 Console                    1     13,020 K"
## [237] "msedge.exe                   22208 Console                    1     14,772 K"
## [238] "msedge.exe                    6240 Console                    1      6,380 K"
## [239] "msedge.exe                   20648 Console                    1      5,720 K"
## [240] "msedge.exe                   22428 Console                    1      6,844 K"
## [241] "msedge.exe                   12472 Console                    1      9,480 K"
## [242] "msedge.exe                    6948 Console                    1      3,412 K"
## [243] "svchost.exe                  14856 Services                   0      7,080 K"
## [244] "WmiPrvSE.exe                  7644 Services                   0     12,060 K"
## [245] "SearchProtocolHost.exe         820 Services                   0     11,024 K"
## [246] "chrome.exe                   13876 Console                    1     57,036 K"
## [247] "chrome.exe                   18084 Console                    1     58,212 K"
## [248] "FileCoAuth.exe                5660 Console                    1     18,124 K"
## [249] "Rterm.exe                     9996 Console                    1     84,152 K"
## [250] "backgroundTaskHost.exe       21696 Console                    1     12,568 K"
## [251] "tasklist.exe                  3372 Console                    1      9,448 K"
## [252] "conhost.exe                  10956 Console                    1     12,372 K"
# Using system2
# Capture output using system2 with tasklist
system2("tasklist", stdout = TRUE)
##   [1] ""                                                                            
##   [2] "Image Name                     PID Session Name        Session#    Mem Usage"
##   [3] "========================= ======== ================ =========== ============"
##   [4] "System Idle Process              0 Services                   0          8 K"
##   [5] "System                           4 Services                   0         12 K"
##   [6] "Registry                        88 Services                   0     17,888 K"
##   [7] "smss.exe                       404 Services                   0        152 K"
##   [8] "csrss.exe                      692 Services                   0        732 K"
##   [9] "csrss.exe                      780 Console                    1      1,916 K"
##  [10] "wininit.exe                    788 Services                   0        456 K"
##  [11] "winlogon.exe                   844 Console                    1      2,172 K"
##  [12] "services.exe                   908 Services                   0      4,496 K"
##  [13] "lsass.exe                      952 Services                   0     10,788 K"
##  [14] "svchost.exe                    492 Services                   0     22,888 K"
##  [15] "fontdrvhost.exe                484 Console                    1        412 K"
##  [16] "fontdrvhost.exe                  8 Services                   0        656 K"
##  [17] "WUDFHost.exe                   668 Services                   0        620 K"
##  [18] "svchost.exe                   1128 Services                   0     14,748 K"
##  [19] "svchost.exe                   1180 Services                   0      3,280 K"
##  [20] "dwm.exe                       1252 Console                    1     65,128 K"
##  [21] "svchost.exe                   1324 Services                   0     10,260 K"
##  [22] "svchost.exe                   1388 Services                   0      1,624 K"
##  [23] "svchost.exe                   1400 Services                   0      3,580 K"
##  [24] "svchost.exe                   1412 Services                   0      3,068 K"
##  [25] "svchost.exe                   1480 Services                   0      2,800 K"
##  [26] "svchost.exe                   1488 Services                   0      3,756 K"
##  [27] "svchost.exe                   1524 Services                   0      1,040 K"
##  [28] "svchost.exe                   1612 Services                   0      2,312 K"
##  [29] "IntelCpHDCPSvc.exe            1656 Services                   0         16 K"
##  [30] "svchost.exe                   1740 Services                   0      6,512 K"
##  [31] "svchost.exe                   1752 Services                   0      4,432 K"
##  [32] "svchost.exe                   1776 Services                   0      3,904 K"
##  [33] "svchost.exe                   1896 Services                   0      7,460 K"
##  [34] "IntelCpHeciSvc.exe            2000 Services                   0         16 K"
##  [35] "svchost.exe                    684 Services                   0      5,068 K"
##  [36] "svchost.exe                   1868 Services                   0      4,356 K"
##  [37] "svchost.exe                   2168 Services                   0      1,636 K"
##  [38] "svchost.exe                   2184 Services                   0      5,076 K"
##  [39] "svchost.exe                   2232 Services                   0      4,040 K"
##  [40] "svchost.exe                   2240 Services                   0        904 K"
##  [41] "svchost.exe                   2268 Services                   0      1,220 K"
##  [42] "svchost.exe                   2440 Services                   0        204 K"
##  [43] "Memory Compression            2448 Services                   0     61,392 K"
##  [44] "svchost.exe                   2552 Services                   0      1,640 K"
##  [45] "igfxCUIService.exe            2572 Services                   0         16 K"
##  [46] "svchost.exe                   2664 Services                   0      1,356 K"
##  [47] "svchost.exe                   2672 Services                   0      1,412 K"
##  [48] "TouchpointAnalyticsClient     2836 Services                   0     21,200 K"
##  [49] "svchost.exe                   3044 Services                   0        756 K"
##  [50] "svchost.exe                   3124 Services                   0      6,380 K"
##  [51] "svchost.exe                   3176 Services                   0      9,168 K"
##  [52] "svchost.exe                   3352 Services                   0      2,008 K"
##  [53] "svchost.exe                   3572 Services                   0      1,124 K"
##  [54] "svchost.exe                   3616 Services                   0     11,060 K"
##  [55] "svchost.exe                   3680 Services                   0      1,320 K"
##  [56] "svchost.exe                   3784 Services                   0        852 K"
##  [57] "svchost.exe                   3832 Services                   0      2,392 K"
##  [58] "svchost.exe                   3840 Services                   0      1,468 K"
##  [59] "svchost.exe                   3848 Services                   0      2,192 K"
##  [60] "svchost.exe                   4028 Services                   0      3,464 K"
##  [61] "svchost.exe                   4088 Services                   0      6,168 K"
##  [62] "svchost.exe                   1832 Services                   0      2,252 K"
##  [63] "spoolsv.exe                   3024 Services                   0        356 K"
##  [64] "svchost.exe                   3100 Services                   0      3,688 K"
##  [65] "svchost.exe                   2952 Services                   0      1,820 K"
##  [66] "unsecapp.exe                  4308 Services                   0      2,076 K"
##  [67] "WmiPrvSE.exe                  4360 Services                   0      6,140 K"
##  [68] "svchost.exe                   4644 Services                   0     20,580 K"
##  [69] "svchost.exe                   4660 Services                   0     13,576 K"
##  [70] "ETDService.exe                4684 Services                   0          8 K"
##  [71] "OneApp.IGCC.WinService.ex     4736 Services                   0      7,632 K"
##  [72] "svchost.exe                   4760 Services                   0      2,624 K"
##  [73] "svchost.exe                   4828 Services                   0      2,424 K"
##  [74] "RtkAudUService64.exe          4880 Services                   0      1,284 K"
##  [75] "RtkBtManServ.exe              4892 Services                   0      1,372 K"
##  [76] "svchost.exe                   4912 Services                   0      1,028 K"
##  [77] "SynAudSrv.exe                 4936 Services                   0        780 K"
##  [78] "CxAudioSvc.exe                4952 Services                   0      8,888 K"
##  [79] "svchost.exe                   5032 Services                   0        264 K"
##  [80] "svchost.exe                   5068 Services                   0      8,312 K"
##  [81] "ETDCtrlHelper.exe              716 Console                    1         28 K"
##  [82] "AggregatorHost.exe            1668 Services                   0      1,628 K"
##  [83] "esif_uf.exe                   5172 Services                   0        800 K"
##  [84] "svchost.exe                   1464 Services                   0      3,928 K"
##  [85] "svchost.exe                  11920 Services                   0      7,208 K"
##  [86] "svchost.exe                  12204 Services                   0      6,648 K"
##  [87] "svchost.exe                   1940 Services                   0      5,628 K"
##  [88] "svchost.exe                   5124 Services                   0      1,680 K"
##  [89] "MoUsoCoreWorker.exe           6020 Services                   0      2,548 K"
##  [90] "svchost.exe                   2288 Services                   0      2,596 K"
##  [91] "svchost.exe                   3952 Services                   0      1,300 K"
##  [92] "ETDCtrl.exe                  12156 Console                    1      3,092 K"
##  [93] "sihost.exe                   11804 Console                    1     13,580 K"
##  [94] "svchost.exe                  11872 Console                    1      1,040 K"
##  [95] "svchost.exe                    436 Console                    1      2,984 K"
##  [96] "svchost.exe                   3520 Console                    1        964 K"
##  [97] "svchost.exe                   5024 Console                    1     11,780 K"
##  [98] "svchost.exe                  12368 Services                   0      9,936 K"
##  [99] "igfxEM.exe                   12384 Console                    1      1,448 K"
## [100] "taskhostw.exe                12464 Console                    1      9,192 K"
## [101] "ETDTouch.exe                 12596 Console                    1        564 K"
## [102] "explorer.exe                 12940 Console                    1    101,644 K"
## [103] "RtkAudUService64.exe         12952 Console                    1      2,544 K"
## [104] "svchost.exe                  12744 Console                    1     17,348 K"
## [105] "svchost.exe                    712 Services                   0      4,024 K"
## [106] "StartMenuExperienceHost.e    13416 Console                    1     11,984 K"
## [107] "RuntimeBroker.exe            13508 Console                    1      7,976 K"
## [108] "RuntimeBroker.exe            13604 Console                    1      9,460 K"
## [109] "svchost.exe                  13760 Console                    1      2,468 K"
## [110] "dllhost.exe                  13996 Console                    1      3,908 K"
## [111] "TextInputHost.exe            12812 Console                    1     42,880 K"
## [112] "svchost.exe                  15188 Console                    1     10,764 K"
## [113] "SecurityHealthSystray.exe    14900 Console                    1      2,632 K"
## [114] "SecurityHealthService.exe    15184 Services                   0      6,564 K"
## [115] "RtkAudUService64.exe         15132 Console                    1      2,608 K"
## [116] "HPSystemEventUtilityBackg    15968 Console                    1      8,280 K"
## [117] "svchost.exe                  15716 Services                   0      1,176 K"
## [118] "unsecapp.exe                 16332 Console                    1      3,328 K"
## [119] "HPMediaNetwork.exe           15620 Console                    1      4,172 K"
## [120] "svchost.exe                    428 Services                   0      3,892 K"
## [121] "DesktopExtension.exe         16492 Console                    1      4,392 K"
## [122] "HP.myHP.exe                  16572 Console                    1      5,060 K"
## [123] "RuntimeBroker.exe            16620 Console                    1      1,544 K"
## [124] "svchost.exe                   2764 Console                    1      1,592 K"
## [125] "svchost.exe                  15304 Services                   0      1,656 K"
## [126] "ApplicationFrameHost.exe     15276 Console                    1      2,396 K"
## [127] "svchost.exe                  16408 Services                   0        688 K"
## [128] "svchost.exe                  14604 Services                   0      1,084 K"
## [129] "svchost.exe                  16388 Console                    1      4,860 K"
## [130] "UserOOBEBroker.exe           17012 Console                    1      3,596 K"
## [131] "svchost.exe                  12720 Services                   0      8,920 K"
## [132] "svchost.exe                   2532 Console                    1      8,592 K"
## [133] "LocationNotificationWindo    14816 Console                    1        216 K"
## [134] "svchost.exe                  16552 Services                   0      4,512 K"
## [135] "svchost.exe                  19300 Services                   0      1,204 K"
## [136] "svchost.exe                  13968 Console                    1      1,440 K"
## [137] "dllhost.exe                  10064 Console                    1      2,084 K"
## [138] "svchost.exe                   9468 Services                   0        620 K"
## [139] "svchost.exe                  10760 Services                   0      1,860 K"
## [140] "dllhost.exe                   5764 Console                    1      4,408 K"
## [141] "com.geocomply.process-sca     9028 Services                   0     13,396 K"
## [142] "com.geocomply.vm-detector    10532 Services                   0        808 K"
## [143] "crash_handler.exe             6824 Services                   0      1,000 K"
## [144] "crash_handler.exe             7556 Services                   0        972 K"
## [145] "com.geocomply.wifi-scanne     6768 Services                   0        820 K"
## [146] "crash_handler.exe            10316 Services                   0        972 K"
## [147] "com.geocomply.internal-up    13436 Services                   0        812 K"
## [148] "crash_handler.exe            11364 Services                   0        992 K"
## [149] "service.exe                  11432 Services                   0        644 K"
## [150] "crash_handler.exe             9600 Services                   0        976 K"
## [151] "PlayerLocationIcon.exe       11800 Console                    1      2,944 K"
## [152] "taskhostw.exe                 9332 Console                    1      1,392 K"
## [153] "svchost.exe                   3532 Services                   0     11,984 K"
## [154] "svchost.exe                   9724 Services                   0        992 K"
## [155] "LockApp.exe                  19512 Console                    1      1,704 K"
## [156] "RuntimeBroker.exe            19564 Console                    1      6,600 K"
## [157] "ctfmon.exe                    8104 Console                    1      8,788 K"
## [158] "ShellExperienceHost.exe      20764 Console                    1     11,872 K"
## [159] "RuntimeBroker.exe             6444 Console                    1      5,280 K"
## [160] "SystemSettingsBroker.exe      8756 Console                    1      7,328 K"
## [161] "MpDefenderCoreService.exe    19184 Services                   0      9,572 K"
## [162] "MsMpEng.exe                  19736 Services                   0    146,840 K"
## [163] "NisSrv.exe                   11068 Services                   0      3,472 K"
## [164] "dllhost.exe                   7256 Console                    1        552 K"
## [165] "svchost.exe                   5976 Services                   0        904 K"
## [166] "SearchHost.exe               14024 Console                    1      4,620 K"
## [167] "OfficeClickToRun.exe         18588 Services                   0      7,812 K"
## [168] "AppVShNotify.exe             18984 Console                    1         28 K"
## [169] "WINWORD.EXE                    520 Console                    1     20,344 K"
## [170] "ai.exe                       16652 Console                    1      1,212 K"
## [171] "ai.exe                       11176 Console                    1        344 K"
## [172] "SearchIndexer.exe             7976 Services                   0     16,432 K"
## [173] "SysInfoCap.exe               10812 Services                   0      4,824 K"
## [174] "AppHelperCap.exe              2616 Services                   0      6,872 K"
## [175] "NetworkCap.exe               11352 Services                   0         20 K"
## [176] "DiagsCap.exe                 18812 Services                   0      1,732 K"
## [177] "svchost.exe                   4340 Services                   0      4,600 K"
## [178] "hp-one-agent-service.exe     10228 Services                   0      4,952 K"
## [179] "chrome.exe                     816 Console                    1    116,800 K"
## [180] "chrome.exe                    8128 Console                    1      1,756 K"
## [181] "chrome.exe                   12280 Console                    1     79,972 K"
## [182] "chrome.exe                   11444 Console                    1     23,140 K"
## [183] "chrome.exe                   20508 Console                    1      6,080 K"
## [184] "chrome.exe                    7040 Console                    1      3,460 K"
## [185] "chrome.exe                    6336 Console                    1      8,168 K"
## [186] "chrome.exe                    5812 Console                    1      6,900 K"
## [187] "rstudio.exe                  15048 Console                    1     64,996 K"
## [188] "rstudio.exe                   3120 Console                    1     83,840 K"
## [189] "rstudio.exe                  10884 Console                    1      9,448 K"
## [190] "rstudio.exe                   2720 Console                    1    234,964 K"
## [191] "svchost.exe                  15500 Services                   0      3,236 K"
## [192] "HPSystemEventUtilityHost.    18524 Console                    1      2,956 K"
## [193] "OneDrive.exe                 15436 Console                    1     63,192 K"
## [194] "chrome.exe                    5640 Console                    1    445,720 K"
## [195] "BridgeCommunication.exe       6636 Console                    1      2,264 K"
## [196] "chrome.exe                   21764 Console                    1     11,804 K"
## [197] "chrome.exe                   14140 Console                    1      7,320 K"
## [198] "chrome.exe                    7132 Console                    1     12,832 K"
## [199] "chrome.exe                   21304 Console                    1      8,652 K"
## [200] "chrome.exe                   21880 Console                    1      4,260 K"
## [201] "chrome.exe                   18264 Console                    1    215,504 K"
## [202] "rsession-utf8.exe            19780 Console                    1     96,420 K"
## [203] "conhost.exe                  22152 Console                    1        724 K"
## [204] "crashpad_handler.exe         20248 Console                    1        620 K"
## [205] "chrome.exe                   21744 Console                    1     16,676 K"
## [206] "chrome.exe                    6516 Console                    1      6,388 K"
## [207] "chrome.exe                   16036 Console                    1      4,124 K"
## [208] "chrome.exe                   15232 Console                    1     10,592 K"
## [209] "chrome.exe                    9340 Console                    1      7,632 K"
## [210] "SnippingTool.exe             15424 Console                    1     12,880 K"
## [211] "chrome.exe                   20592 Console                    1      8,688 K"
## [212] "chrome.exe                   21816 Console                    1      6,896 K"
## [213] "chrome.exe                    5744 Console                    1      6,436 K"
## [214] "svchost.exe                  21972 Services                   0        708 K"
## [215] "msedge.exe                   19100 Console                    1     46,340 K"
## [216] "msedge.exe                   15068 Console                    1      1,924 K"
## [217] "msedge.exe                   21980 Console                    1     34,780 K"
## [218] "msedge.exe                   19536 Console                    1     12,484 K"
## [219] "msedge.exe                    6852 Console                    1      4,948 K"
## [220] "msedge.exe                   10748 Console                    1      8,164 K"
## [221] "RuntimeBroker.exe            18212 Console                    1      6,944 K"
## [222] "svchost.exe                   9184 Services                   0      2,644 K"
## [223] "svchost.exe                   9832 Services                   0      3,684 K"
## [224] "Widgets.exe                    812 Console                    1     15,528 K"
## [225] "WidgetService.exe            20768 Console                    1      2,340 K"
## [226] "msedgewebview2.exe           11008 Console                    1      5,120 K"
## [227] "msedgewebview2.exe            5608 Console                    1      1,316 K"
## [228] "msedgewebview2.exe           21944 Console                    1      3,928 K"
## [229] "msedgewebview2.exe           12128 Console                    1        956 K"
## [230] "msedgewebview2.exe           13460 Console                    1         16 K"
## [231] "msedgewebview2.exe             304 Console                    1      1,020 K"
## [232] "msedgewebview2.exe           11544 Console                    1        720 K"
## [233] "chrome.exe                    7236 Console                    1     30,136 K"
## [234] "audiodg.exe                  21076 Services                   0     15,892 K"
## [235] "msedge.exe                   15744 Console                    1     19,160 K"
## [236] "msedge.exe                   16672 Console                    1     13,020 K"
## [237] "msedge.exe                   22208 Console                    1     14,772 K"
## [238] "msedge.exe                    6240 Console                    1      6,380 K"
## [239] "msedge.exe                   20648 Console                    1      5,720 K"
## [240] "msedge.exe                   22428 Console                    1      6,844 K"
## [241] "msedge.exe                   12472 Console                    1      9,480 K"
## [242] "msedge.exe                    6948 Console                    1      3,412 K"
## [243] "svchost.exe                  14856 Services                   0      7,080 K"
## [244] "WmiPrvSE.exe                  7644 Services                   0     12,152 K"
## [245] "SearchProtocolHost.exe         820 Services                   0     11,024 K"
## [246] "chrome.exe                   13876 Console                    1     56,512 K"
## [247] "chrome.exe                   18084 Console                    1     58,212 K"
## [248] "FileCoAuth.exe                5660 Console                    1     18,124 K"
## [249] "Rterm.exe                     9996 Console                    1     82,960 K"
## [250] "backgroundTaskHost.exe       21696 Console                    1     15,824 K"
## [251] "tasklist.exe                  8896 Console                    1      9,424 K"
## [252] "conhost.exe                   2740 Console                    1     12,440 K"
# Both functions return output as a character vector, where each line from the command output becomes an element in the vector. For example, the output may look like this:
# Each line is a separate element in the character vector, making it straightforward to extract and process specific lines or details as needed.
# Using devtools for Simpler Command Execution
# The devtools package offers an alternative approach with system_output, which captures the command’s output without requiring additional parameters. This function is useful for developers who want a more streamlined syntax:
# Using devtools::system_output
# For Windows, I’ll use "tasklist" instead of "top" to capture running tasks
# Using system to capture tasklist output as a character vector
task_output <- system("tasklist", intern = TRUE)
print(task_output)
##   [1] ""                                                                            
##   [2] "Image Name                     PID Session Name        Session#    Mem Usage"
##   [3] "========================= ======== ================ =========== ============"
##   [4] "System Idle Process              0 Services                   0          8 K"
##   [5] "System                           4 Services                   0         12 K"
##   [6] "Registry                        88 Services                   0     17,888 K"
##   [7] "smss.exe                       404 Services                   0        152 K"
##   [8] "csrss.exe                      692 Services                   0        740 K"
##   [9] "csrss.exe                      780 Console                    1      1,916 K"
##  [10] "wininit.exe                    788 Services                   0        456 K"
##  [11] "winlogon.exe                   844 Console                    1      2,172 K"
##  [12] "services.exe                   908 Services                   0      4,496 K"
##  [13] "lsass.exe                      952 Services                   0     10,792 K"
##  [14] "svchost.exe                    492 Services                   0     22,912 K"
##  [15] "fontdrvhost.exe                484 Console                    1        412 K"
##  [16] "fontdrvhost.exe                  8 Services                   0        656 K"
##  [17] "WUDFHost.exe                   668 Services                   0        620 K"
##  [18] "svchost.exe                   1128 Services                   0     14,844 K"
##  [19] "svchost.exe                   1180 Services                   0      3,280 K"
##  [20] "dwm.exe                       1252 Console                    1     65,136 K"
##  [21] "svchost.exe                   1324 Services                   0     10,260 K"
##  [22] "svchost.exe                   1388 Services                   0      1,624 K"
##  [23] "svchost.exe                   1400 Services                   0      3,580 K"
##  [24] "svchost.exe                   1412 Services                   0      3,068 K"
##  [25] "svchost.exe                   1480 Services                   0      2,800 K"
##  [26] "svchost.exe                   1488 Services                   0      3,756 K"
##  [27] "svchost.exe                   1524 Services                   0      1,040 K"
##  [28] "svchost.exe                   1612 Services                   0      2,312 K"
##  [29] "IntelCpHDCPSvc.exe            1656 Services                   0         16 K"
##  [30] "svchost.exe                   1740 Services                   0      6,512 K"
##  [31] "svchost.exe                   1752 Services                   0      4,432 K"
##  [32] "svchost.exe                   1776 Services                   0      3,904 K"
##  [33] "svchost.exe                   1896 Services                   0      7,460 K"
##  [34] "IntelCpHeciSvc.exe            2000 Services                   0         16 K"
##  [35] "svchost.exe                    684 Services                   0      5,068 K"
##  [36] "svchost.exe                   1868 Services                   0      4,356 K"
##  [37] "svchost.exe                   2168 Services                   0      1,636 K"
##  [38] "svchost.exe                   2184 Services                   0      5,076 K"
##  [39] "svchost.exe                   2232 Services                   0      4,040 K"
##  [40] "svchost.exe                   2240 Services                   0        904 K"
##  [41] "svchost.exe                   2268 Services                   0      1,220 K"
##  [42] "svchost.exe                   2440 Services                   0        204 K"
##  [43] "Memory Compression            2448 Services                   0     64,456 K"
##  [44] "svchost.exe                   2552 Services                   0      1,640 K"
##  [45] "igfxCUIService.exe            2572 Services                   0         16 K"
##  [46] "svchost.exe                   2664 Services                   0      1,356 K"
##  [47] "svchost.exe                   2672 Services                   0      1,412 K"
##  [48] "TouchpointAnalyticsClient     2836 Services                   0     21,200 K"
##  [49] "svchost.exe                   3044 Services                   0        756 K"
##  [50] "svchost.exe                   3124 Services                   0      6,380 K"
##  [51] "svchost.exe                   3176 Services                   0      9,116 K"
##  [52] "svchost.exe                   3352 Services                   0      2,008 K"
##  [53] "svchost.exe                   3572 Services                   0      1,124 K"
##  [54] "svchost.exe                   3616 Services                   0     11,116 K"
##  [55] "svchost.exe                   3680 Services                   0      1,320 K"
##  [56] "svchost.exe                   3784 Services                   0        852 K"
##  [57] "svchost.exe                   3832 Services                   0      2,392 K"
##  [58] "svchost.exe                   3840 Services                   0      1,468 K"
##  [59] "svchost.exe                   3848 Services                   0      2,192 K"
##  [60] "svchost.exe                   4028 Services                   0      3,464 K"
##  [61] "svchost.exe                   4088 Services                   0      6,168 K"
##  [62] "svchost.exe                   1832 Services                   0      2,252 K"
##  [63] "spoolsv.exe                   3024 Services                   0        356 K"
##  [64] "svchost.exe                   3100 Services                   0      3,688 K"
##  [65] "svchost.exe                   2952 Services                   0      1,820 K"
##  [66] "unsecapp.exe                  4308 Services                   0      2,076 K"
##  [67] "WmiPrvSE.exe                  4360 Services                   0      6,140 K"
##  [68] "svchost.exe                   4644 Services                   0     20,600 K"
##  [69] "svchost.exe                   4660 Services                   0     13,580 K"
##  [70] "ETDService.exe                4684 Services                   0          8 K"
##  [71] "OneApp.IGCC.WinService.ex     4736 Services                   0      7,632 K"
##  [72] "svchost.exe                   4760 Services                   0      2,624 K"
##  [73] "svchost.exe                   4828 Services                   0      2,424 K"
##  [74] "RtkAudUService64.exe          4880 Services                   0      1,284 K"
##  [75] "RtkBtManServ.exe              4892 Services                   0      1,372 K"
##  [76] "svchost.exe                   4912 Services                   0      1,028 K"
##  [77] "SynAudSrv.exe                 4936 Services                   0        780 K"
##  [78] "CxAudioSvc.exe                4952 Services                   0      8,888 K"
##  [79] "svchost.exe                   5032 Services                   0        264 K"
##  [80] "svchost.exe                   5068 Services                   0      8,312 K"
##  [81] "ETDCtrlHelper.exe              716 Console                    1         28 K"
##  [82] "AggregatorHost.exe            1668 Services                   0      1,628 K"
##  [83] "esif_uf.exe                   5172 Services                   0        800 K"
##  [84] "svchost.exe                   1464 Services                   0      3,928 K"
##  [85] "svchost.exe                  11920 Services                   0      7,208 K"
##  [86] "svchost.exe                  12204 Services                   0      6,652 K"
##  [87] "svchost.exe                   1940 Services                   0      5,628 K"
##  [88] "svchost.exe                   5124 Services                   0      1,680 K"
##  [89] "MoUsoCoreWorker.exe           6020 Services                   0      2,548 K"
##  [90] "svchost.exe                   2288 Services                   0      2,596 K"
##  [91] "svchost.exe                   3952 Services                   0      1,300 K"
##  [92] "ETDCtrl.exe                  12156 Console                    1      3,092 K"
##  [93] "sihost.exe                   11804 Console                    1     13,580 K"
##  [94] "svchost.exe                  11872 Console                    1      1,040 K"
##  [95] "svchost.exe                    436 Console                    1      2,984 K"
##  [96] "svchost.exe                   3520 Console                    1        964 K"
##  [97] "svchost.exe                   5024 Console                    1     11,780 K"
##  [98] "svchost.exe                  12368 Services                   0      9,936 K"
##  [99] "igfxEM.exe                   12384 Console                    1      1,448 K"
## [100] "taskhostw.exe                12464 Console                    1      9,192 K"
## [101] "ETDTouch.exe                 12596 Console                    1        564 K"
## [102] "explorer.exe                 12940 Console                    1    102,192 K"
## [103] "RtkAudUService64.exe         12952 Console                    1      2,544 K"
## [104] "svchost.exe                  12744 Console                    1     17,268 K"
## [105] "svchost.exe                    712 Services                   0      4,024 K"
## [106] "StartMenuExperienceHost.e    13416 Console                    1     11,984 K"
## [107] "RuntimeBroker.exe            13508 Console                    1      7,976 K"
## [108] "RuntimeBroker.exe            13604 Console                    1      9,460 K"
## [109] "svchost.exe                  13760 Console                    1      2,560 K"
## [110] "dllhost.exe                  13996 Console                    1      3,908 K"
## [111] "TextInputHost.exe            12812 Console                    1     42,880 K"
## [112] "svchost.exe                  15188 Console                    1     10,764 K"
## [113] "SecurityHealthSystray.exe    14900 Console                    1      2,632 K"
## [114] "SecurityHealthService.exe    15184 Services                   0      6,564 K"
## [115] "RtkAudUService64.exe         15132 Console                    1      2,608 K"
## [116] "HPSystemEventUtilityBackg    15968 Console                    1      8,280 K"
## [117] "svchost.exe                  15716 Services                   0      1,176 K"
## [118] "unsecapp.exe                 16332 Console                    1      3,328 K"
## [119] "HPMediaNetwork.exe           15620 Console                    1      4,172 K"
## [120] "svchost.exe                    428 Services                   0      3,892 K"
## [121] "DesktopExtension.exe         16492 Console                    1      4,392 K"
## [122] "HP.myHP.exe                  16572 Console                    1      5,060 K"
## [123] "RuntimeBroker.exe            16620 Console                    1      1,544 K"
## [124] "svchost.exe                   2764 Console                    1      1,592 K"
## [125] "svchost.exe                  15304 Services                   0      1,656 K"
## [126] "ApplicationFrameHost.exe     15276 Console                    1      2,396 K"
## [127] "svchost.exe                  16408 Services                   0        688 K"
## [128] "svchost.exe                  14604 Services                   0      1,084 K"
## [129] "svchost.exe                  16388 Console                    1      4,860 K"
## [130] "UserOOBEBroker.exe           17012 Console                    1      3,596 K"
## [131] "svchost.exe                  12720 Services                   0      8,920 K"
## [132] "svchost.exe                   2532 Console                    1      8,592 K"
## [133] "LocationNotificationWindo    14816 Console                    1        216 K"
## [134] "svchost.exe                  16552 Services                   0      4,512 K"
## [135] "svchost.exe                  19300 Services                   0      1,204 K"
## [136] "svchost.exe                  13968 Console                    1      1,440 K"
## [137] "dllhost.exe                  10064 Console                    1      2,084 K"
## [138] "svchost.exe                   9468 Services                   0        620 K"
## [139] "svchost.exe                  10760 Services                   0      1,860 K"
## [140] "dllhost.exe                   5764 Console                    1      4,436 K"
## [141] "com.geocomply.process-sca     9028 Services                   0     13,396 K"
## [142] "com.geocomply.vm-detector    10532 Services                   0        808 K"
## [143] "crash_handler.exe             6824 Services                   0      1,000 K"
## [144] "crash_handler.exe             7556 Services                   0        972 K"
## [145] "com.geocomply.wifi-scanne     6768 Services                   0        820 K"
## [146] "crash_handler.exe            10316 Services                   0        972 K"
## [147] "com.geocomply.internal-up    13436 Services                   0        812 K"
## [148] "crash_handler.exe            11364 Services                   0        992 K"
## [149] "service.exe                  11432 Services                   0        644 K"
## [150] "crash_handler.exe             9600 Services                   0        976 K"
## [151] "PlayerLocationIcon.exe       11800 Console                    1      2,944 K"
## [152] "taskhostw.exe                 9332 Console                    1      1,392 K"
## [153] "svchost.exe                   3532 Services                   0     11,984 K"
## [154] "svchost.exe                   9724 Services                   0        992 K"
## [155] "LockApp.exe                  19512 Console                    1      1,704 K"
## [156] "RuntimeBroker.exe            19564 Console                    1      6,600 K"
## [157] "ctfmon.exe                    8104 Console                    1      8,788 K"
## [158] "ShellExperienceHost.exe      20764 Console                    1     11,872 K"
## [159] "RuntimeBroker.exe             6444 Console                    1      5,280 K"
## [160] "SystemSettingsBroker.exe      8756 Console                    1      7,328 K"
## [161] "MpDefenderCoreService.exe    19184 Services                   0      9,572 K"
## [162] "MsMpEng.exe                  19736 Services                   0    147,360 K"
## [163] "NisSrv.exe                   11068 Services                   0      3,472 K"
## [164] "dllhost.exe                   7256 Console                    1        552 K"
## [165] "svchost.exe                   5976 Services                   0        904 K"
## [166] "SearchHost.exe               14024 Console                    1      4,620 K"
## [167] "OfficeClickToRun.exe         18588 Services                   0      7,840 K"
## [168] "AppVShNotify.exe             18984 Console                    1         28 K"
## [169] "WINWORD.EXE                    520 Console                    1     20,344 K"
## [170] "ai.exe                       16652 Console                    1      1,212 K"
## [171] "ai.exe                       11176 Console                    1        344 K"
## [172] "SearchIndexer.exe             7976 Services                   0     16,452 K"
## [173] "SysInfoCap.exe               10812 Services                   0      4,824 K"
## [174] "AppHelperCap.exe              2616 Services                   0      6,872 K"
## [175] "NetworkCap.exe               11352 Services                   0         20 K"
## [176] "DiagsCap.exe                 18812 Services                   0      1,732 K"
## [177] "svchost.exe                   4340 Services                   0      4,612 K"
## [178] "hp-one-agent-service.exe     10228 Services                   0      4,952 K"
## [179] "chrome.exe                     816 Console                    1    116,800 K"
## [180] "chrome.exe                    8128 Console                    1      1,756 K"
## [181] "chrome.exe                   12280 Console                    1     79,972 K"
## [182] "chrome.exe                   11444 Console                    1     23,140 K"
## [183] "chrome.exe                   20508 Console                    1      6,080 K"
## [184] "chrome.exe                    7040 Console                    1      3,460 K"
## [185] "chrome.exe                    6336 Console                    1      8,168 K"
## [186] "chrome.exe                    5812 Console                    1      6,900 K"
## [187] "rstudio.exe                  15048 Console                    1     64,996 K"
## [188] "rstudio.exe                   3120 Console                    1     68,492 K"
## [189] "rstudio.exe                  10884 Console                    1      9,456 K"
## [190] "rstudio.exe                   2720 Console                    1    235,040 K"
## [191] "svchost.exe                  15500 Services                   0      3,236 K"
## [192] "HPSystemEventUtilityHost.    18524 Console                    1      2,956 K"
## [193] "OneDrive.exe                 15436 Console                    1     63,264 K"
## [194] "chrome.exe                    5640 Console                    1    446,136 K"
## [195] "BridgeCommunication.exe       6636 Console                    1      2,264 K"
## [196] "chrome.exe                   21764 Console                    1     11,804 K"
## [197] "chrome.exe                   14140 Console                    1      7,320 K"
## [198] "chrome.exe                    7132 Console                    1     12,832 K"
## [199] "chrome.exe                   21304 Console                    1      8,652 K"
## [200] "chrome.exe                   21880 Console                    1      4,260 K"
## [201] "chrome.exe                   18264 Console                    1    215,504 K"
## [202] "rsession-utf8.exe            19780 Console                    1     96,432 K"
## [203] "conhost.exe                  22152 Console                    1        724 K"
## [204] "crashpad_handler.exe         20248 Console                    1        620 K"
## [205] "chrome.exe                   21744 Console                    1     16,676 K"
## [206] "chrome.exe                    6516 Console                    1      6,388 K"
## [207] "chrome.exe                   16036 Console                    1      4,124 K"
## [208] "chrome.exe                   15232 Console                    1     10,592 K"
## [209] "chrome.exe                    9340 Console                    1      7,632 K"
## [210] "SnippingTool.exe             15424 Console                    1     12,880 K"
## [211] "chrome.exe                   20592 Console                    1      8,688 K"
## [212] "chrome.exe                   21816 Console                    1      6,896 K"
## [213] "chrome.exe                    5744 Console                    1      6,436 K"
## [214] "svchost.exe                  21972 Services                   0        708 K"
## [215] "msedge.exe                   19100 Console                    1     46,340 K"
## [216] "msedge.exe                   15068 Console                    1      1,924 K"
## [217] "msedge.exe                   21980 Console                    1     34,780 K"
## [218] "msedge.exe                   19536 Console                    1     12,484 K"
## [219] "msedge.exe                    6852 Console                    1      4,948 K"
## [220] "msedge.exe                   10748 Console                    1      8,164 K"
## [221] "RuntimeBroker.exe            18212 Console                    1      6,944 K"
## [222] "svchost.exe                   9184 Services                   0      2,644 K"
## [223] "svchost.exe                   9832 Services                   0      3,684 K"
## [224] "Widgets.exe                    812 Console                    1     15,528 K"
## [225] "WidgetService.exe            20768 Console                    1      2,340 K"
## [226] "msedgewebview2.exe           11008 Console                    1      5,120 K"
## [227] "msedgewebview2.exe            5608 Console                    1      1,316 K"
## [228] "msedgewebview2.exe           21944 Console                    1      3,928 K"
## [229] "msedgewebview2.exe           12128 Console                    1        956 K"
## [230] "msedgewebview2.exe           13460 Console                    1         16 K"
## [231] "msedgewebview2.exe             304 Console                    1      1,020 K"
## [232] "msedgewebview2.exe           11544 Console                    1        720 K"
## [233] "chrome.exe                    7236 Console                    1     30,136 K"
## [234] "audiodg.exe                  21076 Services                   0     15,892 K"
## [235] "msedge.exe                   15744 Console                    1     19,160 K"
## [236] "msedge.exe                   16672 Console                    1     13,020 K"
## [237] "msedge.exe                   22208 Console                    1     14,772 K"
## [238] "msedge.exe                    6240 Console                    1      6,380 K"
## [239] "msedge.exe                   20648 Console                    1      5,720 K"
## [240] "msedge.exe                   22428 Console                    1      6,844 K"
## [241] "msedge.exe                   12472 Console                    1      9,480 K"
## [242] "msedge.exe                    6948 Console                    1      3,412 K"
## [243] "svchost.exe                  14856 Services                   0      7,080 K"
## [244] "WmiPrvSE.exe                  7644 Services                   0     12,164 K"
## [245] "SearchProtocolHost.exe         820 Services                   0     11,040 K"
## [246] "chrome.exe                   13876 Console                    1     56,512 K"
## [247] "chrome.exe                   18084 Console                    1     58,212 K"
## [248] "Rterm.exe                     9996 Console                    1     83,640 K"
## [249] "backgroundTaskHost.exe       21696 Console                    1     16,552 K"
## [250] "FileCoAuth.exe               15788 Console                    1     18,148 K"
## [251] "tasklist.exe                  8100 Console                    1      9,420 K"
## [252] "conhost.exe                  19844 Console                    1     12,376 K"
# The function output is still a character vector, similar to system and system2, allowing me to handle it in the same way as before.
# Capturing Command Output as a Data Frame
# In some cases, capturing output as a data frame is more convenient, especially when working with structured data such as system statistics. The fread function from the data.table package allows me to run a command, capture its output, and directly import it as a data.table or data.frame. This approach is particularly efficient when dealing with tabular data because fread automatically structures the output into rows and columns.
# Here’s how I can use fread to capture and format the output of the top command:
# Here I utilized fread to capture and structure command output
# Using fread to capture and structure command output from tasklist
#install.packages("data.table")

library(data.table)
fread(cmd = "tasklist", check.names = TRUE)
## Warning in fread(cmd = "tasklist", check.names = TRUE): Detected 8 column names
## but the data has 6 columns. Filling rows automatically. Set fill=TRUE
## explicitly to avoid this warning.
##                      System   Idle  Process     X0 Services   X0.1     X8
##                      <char> <char>   <char> <char>    <num> <char> <char>
##   1:                 System      4 Services      0   12.000      K       
##   2:               Registry     88 Services      0   17.900      K       
##   3:               smss.exe    404 Services      0  152.000      K       
##   4:              csrss.exe    692 Services      0  796.000      K       
##   5:              csrss.exe    780  Console      1    1.920      K       
##  ---                                                                     
## 245: backgroundTaskHost.exe  21696  Console      1   23.876      K       
## 246:         FileCoAuth.exe  15788  Console      1   18.148      K       
## 247:                cmd.exe  21560  Console      1    4.000      K       
## 248:            conhost.exe   9820  Console      1   12.376      K       
## 249:           tasklist.exe   8152  Console      1    9.416      K       
##           K
##      <lgcl>
##   1:     NA
##   2:     NA
##   3:     NA
##   4:     NA
##   5:     NA
##  ---       
## 245:     NA
## 246:     NA
## 247:     NA
## 248:     NA
## 249:     NA
# With fread, I can directly import system command output and manage it as a data frame. For instance, the command above produces the following output:
# fread automatically handles any headers and adjusts column names to be syntactically valid. In this example, %CPU, %MEM, and TIME+ are converted to compatible column names to avoid errors during data manipulation.
# Advantages and Applications
# Using these functions provides flexibility in handling command output in R. By capturing output as a character vector, I can easily parse and extract specific information using string manipulation functions. When output is structured, capturing it directly as a data frame simplifies data analysis and visualization, making it easier to integrate system information into broader analytical workflows.
# This functionality can be valuable in various applications, such as:
# - System Monitoring: Regularly capturing and analyzing system statistics, such as memory usage, CPU load, or active processes.
# - Automation Scripts: Embedding system commands in R scripts to automate routine tasks that depend on OS-level operations.
# - Data Collection: Collecting OS-specific data as part of larger analyses, especially in performance testing or system auditing.
# Summary Table of Command Execution Functions
# Below is a summary table that provides an overview of each function discussed, detailing their parameters and ideal use cases.
# Loaded necessary libraries for table styling
library(knitr)
library(kableExtra)
# Create the summary table
command_functions_table <- data.frame(
  Function = c("system", "system2", "devtools::system_output", "fread"),
  Parameters = c('command, intern = TRUE', 'command, args, stdout = TRUE', 'command, args', 'command, check.names = TRUE'),
  Description = c("Executes a system command, capturing output as character vector", 
                  "Executes command with separate arguments, capturing output as character vector", 
                  "Captures output without requiring additional parameters", 
                  "Runs command and captures output as data frame")
)

# Create the colorful table
kable(command_functions_table, "html", col.names = c("Function", "Parameters", "Description")) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  column_spec(1, bold = TRUE, color = "white", background = "#4CAF50") %>%
  column_spec(2, background = "#E0F7FA") %>%
  column_spec(3, background = "#FFEBEE")
Function Parameters Description
system command, intern = TRUE Executes a system command, capturing output as character vector
system2 command, args, stdout = TRUE Executes command with separate arguments, capturing output as character vector
devtools::system_output command, args Captures output without requiring additional parameters
fread command, check.names = TRUE Runs command and captures output as data frame