Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 853 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 853 Rev 854
Line 43... Line 43...
43
#$result["function"],當前執行的函式名稱.
43
#$result["function"],當前執行的函式名稱.
44
#$result["argu"],使用的參數.
44
#$result["argu"],使用的參數.
45
#$result["content"],陣列,每個元素為cmds參數中個別元素其指令執行後得到的輸出.
45
#$result["content"],陣列,每個元素為cmds參數中個別元素其指令執行後得到的輸出.
46
#必填參數:
46
#必填參數:
47
#$conf["cmds"],字串陣列,每個元素代表要執行的指令與參數.
47
#$conf["cmds"],字串陣列,每個元素代表要執行的指令與參數.
48
$conf["cmds"]=array("ps auxwf | cat");
48
$conf["cmds"]=array("ps auxwf '|' cat");
49
#可省略參數:
49
#可省略參數:
50
#可省略參數:
50
#可省略參數:
51
#$conf["sock"],字串,要連線的 usr/bin/qbpwcf-sock.php 所產生的 unix domain socket 路徑與名稱,預設為 qbpwcf_usock_path.
51
#$conf["sock"],字串,要連線的 usr/bin/qbpwcf-sock.php 所產生的 unix domain socket 路徑與名稱,預設為 qbpwcf_usock_path.
52
$conf["sock"]=$assetsDir."/unixDomainSockServer.sock";
52
$conf["sock"]=$assetsDir."/unixDomainSockServer.sock";
53
#參考資料:
53
#參考資料:
Line 56... Line 56...
56
#需要透過sock::unixDomainSockServer來運行.
56
#需要透過sock::unixDomainSockServer來運行.
57
$socket=threads::socket($conf);
57
$socket=threads::socket($conf);
58
unset($conf);
58
unset($conf);
59
 
59
 
60
#debug
60
#debug
-
 
61
if($socket["status"]==="false"){
-
 
62
 
-
 
63
	#debug
61
var_dump($socket);
64
	var_dump($socket);
-
 
65
 
-
 
66
	#結束執行回傳 1 給 shell
-
 
67
	exit(1);
-
 
68
 
-
 
69
	}#if end
-
 
70
 
-
 
71
#如果沒有要的結果
-
 
72
if(!isset($socket["content"])){
-
 
73
 
-
 
74
	#debug
-
 
75
	var_dump($socket);
-
 
76
 
-
 
77
	#結束執行回傳 1 給 shell
-
 
78
	exit(1);
-
 
79
 
-
 
80
	}#if end
-
 
81
 
-
 
82
#如果執行指令失敗
-
 
83
if($socket["content"][0]["status"]==="false"){
-
 
84
 
-
 
85
	#debug
-
 
86
	var_dump($socket);
-
 
87
 
-
 
88
	#結束執行回傳 1 給 shell
-
 
89
	exit(1);
-
 
90
 
-
 
91
	}#if end
-
 
92
 
-
 
93
#取得程序的 uuid
-
 
94
$procUuid=$socket["content"][0]["content"];
-
 
95
 
-
 
96
#無窮迴圈
-
 
97
while(true){
-
 
98
 
-
 
99
	#函式說明:
-
 
100
	#詢問透過 sock::unixDomainSockServer 執行的程序狀況
-
 
101
	#回傳結果:
-
 
102
	#$result["status"],"true"代表執行正常;"false"代表執行不正常.
-
 
103
	#$result["error"],錯誤訊息陣列.
-
 
104
	#$result["function"],當前執行的函式名稱.
-
 
105
	#$result["argu"],使用的參數.
-
 
106
	#$result["content"],陣列,程序的資訊.
-
 
107
	#$result["content"]["pid"],字串,程序的pid.
-
 
108
	#$result["content"]["running"],字串,是否正常執行中.
-
 
109
	#$result["content"]["statusCode"],字串,回傳給 shell 的代碼.
-
 
110
	#$result["content"]["input"],字串,輸入的內容.
-
 
111
	#$result["content"]["output"],字串,標準輸出的內容.
-
 
112
	#$result["content"]["error"],字串,錯誤輸出的內容.
-
 
113
	#必填參數:
-
 
114
	#$conf["uuid"],字串,proc的uuid.
-
 
115
	$conf["uuid"]=$procUuid;
-
 
116
	#可省略參數:
-
 
117
	#$conf["sock"],字串,要連線的 usr/bin/qbpwcf-sock.php(sock::unixDomainSockServer) 所產生的 unix domain socket 路徑與名稱,預設為 qbpwcf_usock_path.
-
 
118
	$conf["sock"]=$assetsDir."/unixDomainSockServer.sock";
-
 
119
	#參考資料:
-
 
120
	#無.
-
 
121
	#備註:
-
 
122
	#無.
-
 
123
	$getProcInfo=sock::getProcInfo($conf);
-
 
124
	unset($conf);
-
 
125
 
-
 
126
	#debug
-
 
127
	if($getProcInfo["status"]==="false"){
-
 
128
 
-
 
129
		#debug
-
 
130
		var_dump($getProcInfo);
-
 
131
 
-
 
132
		#結束執行回傳 1 給 shell
-
 
133
		exit(1);
-
 
134
 
-
 
135
		}#if end
-
 
136
	
-
 
137
	#如果已經停止運行
-
 
138
	if($getProcInfo["content"]["running"]==="false"){
-
 
139
	
-
 
140
		#debug
-
 
141
		var_dump($getProcInfo);
-
 
142
	
-
 
143
		#結束執行
-
 
144
		break;
-
 
145
	
-
 
146
		}#if end
-
 
147
		
-
 
148
	#休息1秒
-
 
149
	sleep(1);
-
 
150
 
-
 
151
	}#whlie end
62
 
152