}
-/* {{{ proto int proc_terminate(resource process)
+/* {{{ proto int proc_terminate(resource process [, long signal])
kill a process opened by proc_open */
PHP_FUNCTION(proc_terminate)
{
zval *zproc;
struct php_process_handle *proc;
+ long sig_no = SIGTERM;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zproc) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &zproc, &sig_no) == FAILURE) {
RETURN_FALSE;
}
#ifdef PHP_WIN32
TerminateProcess(proc->child, 255);
#else
- kill(proc->child, SIGTERM);
+ kill(proc->child, sig_no);
#endif
zend_list_delete(Z_LVAL_P(zproc));