php呼叫shell程式出現殭屍程式defunct

2022-03-16 08:15:21 字數 1517 閱讀 1765

在php中呼叫bash shell

clean_queue.sh如下:

但執行的時候此段php**始終不結束

[root@script ~]# ps -ef|grep

defunct

root

11273

21369

016:58 pts/0

00:00:00

php test_defunct.php

root

11275

11273

016:58 pts/0

00:00:00 [sh] root

11384

13877

016:59 pts/2

00:00:00

grep defunct

剛開始看到/usr/bin/httpsqs的背景顏色是紅色的,以為是許可權的問題,後來chmod u-s /usr/bin/httpsqs去掉suid屬性還是問題依舊。

再後來感覺是不是httpsqs啟動後是deamon程式,呼叫的php一直判斷這個shell沒結果,就一直等,嘗試加上nohup後台執行,如下面的寫法:

果然就不出現殭屍程序了。

php呼叫shell的方法

php提供4種方法執行系統外部命令 exec passthru system shell exec 方法一 exec exec 執行系統外部命令時不會輸出結果,而是返回結果的最後一行,如果你想得到結果你可以使用第二個引數,讓其輸出到指定的陣列,此陣列乙個記錄代表輸出的一行,即如果輸出結果有20行,則...

C C 程式呼叫shell命令

c c 程式呼叫shell命令可以通過以下函式實現 1 file popen const char command const char mode 過程 popen 會呼叫fork 產生子程序,然後從子程序中呼叫 bin sh c來執行引數command的指令。引數mode可使用r代表讀取,w代表寫...

簡述 shell 解釋命令,呼叫程式

一 簡介 1 cal 日曆 ls 檢視檔案和目錄 whoami 檢視當前使用者資訊 logout 退出登入 shutdown 或powoff 關閉系統 init 6 或reroot 重啟系統 passwd 修改密碼 二 檔案管理 1 檔案系統 樹結構 目錄 檔案 2 檔案型別 普通 目錄及裝置檔案 ...