|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #33505 proc_terminate does not really kill terminate the process
Submitted: 2005-06-29 10:18 UTC Modified: 2021-03-16 12:33 UTC
Avg. Score:3.6 ± 1.5
Reproduced:6 of 6 (100.0%)
Same Version:2 (33.3%)
Same OS:5 (83.3%)
From: osama at wayout dot net Assigned: cmb (profile)
Status: Closed Package: Program Execution
PHP Version: 5.1.0b2 OS: Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
39 - 23 = ?
Subscribe to this entry?

 [2005-06-29 10:18 UTC] osama at wayout dot net
I am using PHP5.1.0b1

As per the documentation, proc_terminate should send the process started by proc_open a specified signal. However, practically speaking, it actually sends the signal to the shell (/bin/sh) process and not to the process that was started by the shell.

This usually causes a problem since the signal never reaches the actual process and hence it never terminates (i.e. or receives the signal).

For example, when sending the SIGTERM to a process started by proc_open, only the /bin/sh process terminates while the main process (tcpdump in my case) never terminates.

I am using pipes to communicate to the process.

Reproduce code:
Not needed.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2016-12-30 22:56 UTC]
-Package: Feature/Change Request +Package: Program Execution
 [2021-03-16 12:33 UTC]
-Status: Open +Status: Closed -Assigned To: +Assigned To: cmb
 [2021-03-16 12:33 UTC]
As of PHP 7.4.0, the first argument to prop_open() can be an
array, in which case no shell is involved at all, what should
solve your issue.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Apr 15 02:01:28 2024 UTC