6
6
use Symfony \Component \Process \Process ;
7
7
8
8
class MacOS implements DriversInterface {
9
- /**
10
- * @return \Craftpip\ProcessHandler\Process[]
11
- */
12
- protected $ options = "pid,time,rss,user,sess,args " ;
13
-
14
- function getAllProcesses () {
15
- $ process = new Process ("ps -eo $ this ->options " );
16
- $ process ->run ();
17
- $ op = trim ($ process ->getOutput ());
18
-
19
- return $ this ->parse ($ op );
20
- }
21
-
22
- /**
23
- * @param $pid
24
- *
25
- * @return \Craftpip\ProcessHandler\Process[]
26
- */
27
- function getProcessByPid ($ pid ) {
28
- $ process = new Process ("ps -p $ pid -o $ this ->options " );
29
- $ process ->run ();
30
- $ op = trim ($ process ->getOutput ());
31
-
32
- return $ this ->parse ($ op );
33
- }
34
-
35
- /**
36
- * @param $output
37
- *
38
- * @return \Craftpip\ProcessHandler\Process[]
39
- */
40
- private function parse ($ output ) {
41
- $ op = explode ("\n" , $ output );
42
-
43
-
44
- $ processes = array ();
45
- foreach ($ op as $ k => $ item ) {
46
- if ($ k < 1 )
47
- continue ;
48
-
49
- $ item = explode (" " , preg_replace ('!\s+! ' , ' ' , trim ($ item )));
50
- $ line = array ();
51
- foreach ($ item as $ i ) {
52
- if ($ i != '' )
53
- $ line [] = $ i ;
54
- }
9
+ /**
10
+ * @return \Craftpip\ProcessHandler\Process[]
11
+ */
12
+ protected $ options = "pid,time,rss,user,sess,args " ;
13
+
14
+ function getAllProcesses () {
15
+ $ process = new Process (["ps -eo $ this ->options " ]);
16
+ $ process ->run ();
17
+ $ op = trim ($ process ->getOutput ());
18
+
19
+ return $ this ->parse ($ op );
20
+ }
21
+
22
+ /**
23
+ * @param $pid
24
+ *
25
+ * @return \Craftpip\ProcessHandler\Process[]
26
+ */
27
+ function getProcessByPid ($ pid ) {
28
+ // $process = new Process(["ps -p $pid -o $this->options"]);
29
+ $ process = new Process ([
30
+ "ps " ,
31
+ "-p " ,
32
+ "$ pid " ,
33
+ "-o " ,
34
+ "$ this ->options " ,
35
+ ]);
36
+ $ process ->run ();
37
+ $ op = trim ($ process ->getOutput ());
38
+
39
+ return $ this ->parse ($ op );
40
+ }
55
41
56
- $ processName = implode (" " , array_slice ($ line , 5 ));
57
- $ processes [] = new Process2 ($ processName , $ line [0 ], false , $ line [4 ], $ line [2 ] . ' KB ' , 'RUNNING ' , $ line [3 ], $ line [1 ], false );
58
- }
42
+ /**
43
+ * @param $output
44
+ *
45
+ * @return \Craftpip\ProcessHandler\Process[]
46
+ */
47
+ private function parse ($ output ) {
48
+ $ op = explode ("\n" , $ output );
49
+
50
+
51
+ $ processes = array ();
52
+ foreach ($ op as $ k => $ item ) {
53
+ if ($ k < 1 )
54
+ continue ;
55
+
56
+ $ item = explode (" " , preg_replace ('!\s+! ' , ' ' , trim ($ item )));
57
+ $ line = array ();
58
+ foreach ($ item as $ i ) {
59
+ if ($ i != '' )
60
+ $ line [] = $ i ;
61
+ }
62
+
63
+ $ processName = implode (" " , array_slice ($ line , 5 ));
64
+ $ processes [] = new Process2 ($ processName , $ line [0 ], false , $ line [4 ], $ line [2 ] . ' KB ' , 'RUNNING ' , $ line [3 ], $ line [1 ], false );
65
+ }
59
66
60
- return $ processes ;
61
- }
62
- }
67
+ return $ processes ;
68
+ }
69
+ }
0 commit comments