為了更快速的釋放資源,通常我們使用如下步驟來Kill進(jìn)程:
成都創(chuàng)新互聯(lián)公司專注于宕昌企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站開發(fā)。宕昌網(wǎng)站建設(shè)公司,為宕昌等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
1.首先在操作系統(tǒng)級(jí)kill進(jìn)程;
2.在數(shù)據(jù)庫內(nèi)部kill session;
這樣通??梢钥焖僦兄惯M(jìn)程,釋放資源。
apache開啟時(shí)會(huì)自動(dòng)加載php到進(jìn)程中(需要設(shè)置php5_module),并加載了core, zendengine, extesion 3個(gè)模塊。 core是核心,處理各種請求,stream模式 zendengine是解釋器,用來執(zhí)行用戶代碼 extension則是php的插件,比較常用的類似于mysqli
?php
exec("kill?-9?pid,$op,$status);
?
把結(jié)果逐行追加到$op的結(jié)尾處,只有指定了第二 個(gè)參數(shù)時(shí),才可以用第三個(gè)參數(shù),用來取得命令執(zhí)行的狀態(tài)碼。$status 1 kill成功,0 是失?。ㄒ话闱闆r下是無此進(jìn)程)。
我的實(shí)際項(xiàng)目中是在執(zhí)行的開始通過getmypid()獲取進(jìn)程id保存到數(shù)據(jù)庫,如果crontab再次觸發(fā)則把之前的進(jìn)程kill掉再重新執(zhí)行一遍以上代碼。
希望能幫到你。