8
8
9
9
class Windows implements DriversInterface {
10
10
11
- /**
12
- * @return \Craftpip\ProcessHandler\Process[]
13
- */
14
- function getAllProcesses () {
15
- $ command = "tasklist /V " ;
16
- $ process = new Process ($ command );
17
- $ process ->run ();
18
- $ op = trim ($ process ->getOutput ());
11
+ /**
12
+ * @return \Craftpip\ProcessHandler\Process[]
13
+ */
14
+ function getAllProcesses () {
15
+ $ process = new Process ([
16
+ "tasklist " ,
17
+ "/V " ,
18
+ ]);
19
+ $ process ->run ();
20
+ $ op = trim ($ process ->getOutput ());
19
21
20
- return $ this ->parseOutput ($ op );
21
- }
22
+ return $ this ->parseOutput ($ op );
23
+ }
22
24
23
- /**
24
- * @param $pid
25
- *
26
- * @return \Craftpip\ProcessHandler\Process[]
27
- */
28
- function getProcessByPid ($ pid ) {
29
- $ command = "tasklist /V /fi \"pid eq $ pid \"" ;
30
- $ process = new Process ($ command );
31
- $ process ->run ();
32
- $ op = trim ($ process ->getOutput ());
25
+ /**
26
+ * @param $pid
27
+ *
28
+ * @return \Craftpip\ProcessHandler\Process[]
29
+ */
30
+ function getProcessByPid ($ pid ) {
31
+ $ command = "tasklist /V /fi \"pid eq $ pid \"" ;
32
+ $ process = new Process ([
33
+ "tasklist " ,
34
+ "/V " ,
35
+ "/fi " ,
36
+ "\"pid eq $ pid \"" ,
37
+ ]);
38
+ $ process ->run ();
39
+ $ op = trim ($ process ->getOutput ());
33
40
34
- return $ this ->parseOutput ($ op );
35
- }
41
+ return $ this ->parseOutput ($ op );
42
+ }
36
43
37
- /**
38
- * @param $processName
39
- *
40
- * @return \Craftpip\ProcessHandler\Process[]
41
- */
42
- function getProcessByProcessName ($ processName ) {
43
- $ command = "tasklist /V /fi \"imagename eq $ processName \"" ;
44
- $ process = new Process ($ command );
45
- $ process ->run ();
46
- $ op = trim ($ process ->getOutput ());
44
+ /**
45
+ * @param $processName
46
+ *
47
+ * @return \Craftpip\ProcessHandler\Process[]
48
+ */
49
+ function getProcessByProcessName ($ processName ) {
50
+ $ command = "tasklist /V /fi \"imagename eq $ processName \"" ;
51
+ $ process = new Process ([
52
+ "tasklist " ,
53
+ "/V " ,
54
+ "/fi " ,
55
+ "\"imagename eq $ processName \"" ,
56
+ ]);
57
+ $ process ->run ();
58
+ $ op = trim ($ process ->getOutput ());
47
59
48
- return $ this ->parseOutput ($ op );
49
- }
60
+ return $ this ->parseOutput ($ op );
61
+ }
50
62
51
- /**
52
- * @param $output
53
- *
54
- * @return \Craftpip\ProcessHandler\Process[]
55
- */
56
- private function parseOutput ($ output ) {
57
- $ op = explode ("\n" , $ output );
58
- if (count ($ op ) == 1 ) {
59
- return array ();
60
- }
61
- $ sessions = explode (" " , $ op [1 ]);
62
- $ cs = array ();
63
- foreach ($ sessions as $ session ) {
64
- $ cs [] = strlen ($ session );
65
- }
66
- $ processes = array ();
63
+ /**
64
+ * @param $output
65
+ *
66
+ * @return \Craftpip\ProcessHandler\Process[]
67
+ */
68
+ private function parseOutput ($ output ) {
69
+ $ op = explode ("\n" , $ output );
70
+ if (count ($ op ) == 1 ) {
71
+ return array ();
72
+ }
73
+ $ sessions = explode (" " , $ op [1 ]);
74
+ $ cs = array ();
75
+ foreach ($ sessions as $ session ) {
76
+ $ cs [] = strlen ($ session );
77
+ }
78
+ $ processes = array ();
67
79
68
- foreach ($ op as $ k => $ o ) {
69
- if ($ k < 2 )
70
- continue ;
80
+ foreach ($ op as $ k => $ o ) {
81
+ if ($ k < 2 )
82
+ continue ;
71
83
72
- $ p = array (
73
- 'name ' => trim (substr ($ o , 0 , $ cs [0 ] + 1 )),
74
- 'pid ' => trim (substr ($ o , $ cs [0 ] + 1 , $ cs [1 ] + 1 )),
75
- 'session_name ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + 2 , $ cs [2 ] + 1 )),
76
- 'session ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + 3 , $ cs [3 ] + 1 )),
77
- 'mem_used ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + 4 , $ cs [4 ] + 1 )),
78
- 'status ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + 5 , $ cs [5 ] + 1 )),
79
- 'username ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + $ cs [5 ] + 6 , $ cs [6 ] + 1 )),
80
- 'cpu_time ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + $ cs [5 ] + $ cs [6 ] + 7 , $ cs [7 ] + 1 )),
81
- 'window_title ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + $ cs [5 ] + $ cs [6 ] + $ cs [7 ] + 8 , $ cs [8 ] + 1 )),
82
- );
84
+ $ p = array (
85
+ 'name ' => trim (substr ($ o , 0 , $ cs [0 ] + 1 )),
86
+ 'pid ' => trim (substr ($ o , $ cs [0 ] + 1 , $ cs [1 ] + 1 )),
87
+ 'session_name ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + 2 , $ cs [2 ] + 1 )),
88
+ 'session ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + 3 , $ cs [3 ] + 1 )),
89
+ 'mem_used ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + 4 , $ cs [4 ] + 1 )),
90
+ 'status ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + 5 , $ cs [5 ] + 1 )),
91
+ 'username ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + $ cs [5 ] + 6 , $ cs [6 ] + 1 )),
92
+ 'cpu_time ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + $ cs [5 ] + $ cs [6 ] + 7 , $ cs [7 ] + 1 )),
93
+ 'window_title ' => trim (substr ($ o , $ cs [0 ] + $ cs [1 ] + $ cs [2 ] + $ cs [3 ] + $ cs [4 ] + $ cs [5 ] + $ cs [6 ] + $ cs [7 ] + 8 , $ cs [8 ] + 1 )),
94
+ );
83
95
84
- $ processes [] = new Process2 ($ p ['name ' ], $ p ['pid ' ], $ p ['session_name ' ], $ p ['session ' ], $ p ['mem_used ' ], $ p ['status ' ],
85
- $ p ['username ' ], $ p ['cpu_time ' ], $ p ['window_title ' ]);
86
- }
96
+ $ processes [] = new Process2 ($ p ['name ' ], $ p ['pid ' ], $ p ['session_name ' ], $ p ['session ' ], $ p ['mem_used ' ], $ p ['status ' ], $ p ['username ' ], $ p ['cpu_time ' ], $ p ['window_title ' ]);
97
+ }
87
98
88
- return $ processes ;
89
- }
90
- }
99
+ return $ processes ;
100
+ }
101
+ }
0 commit comments