當前位置: 首頁> 函數類別大全> proc_terminate

proc_terminate

殺死一個proc_open打開的進程
名稱:proc_terminate
分類:程序執行
所屬語言:php
一句話介紹:終止一個由proc_open()函數創建的進程

函數名稱:proc_terminate()

適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7

函數描述:proc_terminate()函數用於終止一個由proc_open()函數創建的進程。

語法:bool proc_terminate(resource $process, int $signal = 15)

參數:

  • $process:proc_open()函數返回的進程資源。
  • $signal(可選):要發送給進程的信號,默認為SIGTERM(15)。

返回值:如果成功終止進程,則返回true;否則返回false。

示例:

 $descriptorspec = array( 0 => array("pipe", "r"), // 标准输入,子进程从此管道中读取数据1 => array("pipe", "w"), // 标准输出,子进程向此管道中写入数据2 => array("file", "/tmp/error-output.txt", "a") // 标准错误,写入到一个文件); $process = proc_open('php -r "echo \'Hello, World!\';"', $descriptorspec, $pipes); // 等待一段时间后终止进程sleep(3); proc_terminate($process); // 读取子进程的输出echo stream_get_contents($pipes[1]); // 关闭管道和进程资源fclose($pipes[0]); fclose($pipes[1]); proc_close($process);

上述示例中,我們使用proc_open()函數創建了一個子進程,該子進程執行了一個簡單的PHP命令來輸出"Hello, World!"。然後,我們使用proc_terminate()函數在等待3秒後終止了該子進程。最後,我們通過stream_get_contents()函數讀取了子進程的輸出,並關閉了相關的管道和進程資源。

請注意,proc_terminate()函數只是發送一個信號給進程,但無法保證立即終止進程。如果需要確保進程立即終止,可以使用proc_close()函數代替proc_terminate()函數。

同類函數
  • 關閉由proc_open() 打開的進程並且返回進程退出碼 proc_close

    proc_close

    關閉由proc_open()打開的進程並
  • 執行外部程序並顯示輸出 system

    system

    執行外部程序並顯示輸出
  • 獲取由proc_open() 函數打開的進程的信息 proc_get_status

    proc_get_status

    獲取由proc_open()函數打開的進
  • 執行一個命令,並且打開用來輸入/輸出的文件指針 proc_open

    proc_open

    執行一個命令,並且打開用來輸入/輸出的文
  • 通過shell 環境執行命令,並且將完整的輸出以字符串的方式返回 shell_exec

    shell_exec

    通過shell環境執行命令,並且將完整的
  • shell 元字符轉義 escapeshellcmd

    escapeshellcmd

    shell元字符轉義
  • 把字符串轉碼為可以在shell 命令裡使用的參數 escapeshellarg

    escapeshellarg

    把字符串轉碼為可以在shell命令裡使用
  • 更改當前進程的優先級 proc_nice

    proc_nice

    更改當前進程的優先級
熱門文章