2007-02-14 19:20:15 +00:00
|
|
|
--TEST--
|
|
|
|
proc_open
|
|
|
|
--SKIPIF--
|
|
|
|
<?php
|
|
|
|
if (!is_executable('/bin/sleep')) echo 'skip no sleep';
|
2007-02-21 16:27:12 +00:00
|
|
|
if (!is_executable('/usr/bin/nohup')) echo 'skip no nohup';
|
2007-02-14 19:20:15 +00:00
|
|
|
?>
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
$ds = array(array('pipe', 'r'));
|
|
|
|
|
|
|
|
$cat = proc_open(
|
2007-02-21 16:27:12 +00:00
|
|
|
'/usr/bin/nohup /bin/sleep 50',
|
2007-02-14 19:20:15 +00:00
|
|
|
$ds,
|
|
|
|
$pipes
|
|
|
|
);
|
|
|
|
|
2007-02-22 11:49:23 +00:00
|
|
|
sleep(1); // let the OS run the nohup process before sending the signal
|
|
|
|
|
2007-02-14 19:20:15 +00:00
|
|
|
var_dump(proc_terminate($cat, 1)); // send a SIGHUP
|
|
|
|
sleep(1);
|
|
|
|
var_dump(proc_get_status($cat));
|
|
|
|
|
|
|
|
var_dump(proc_terminate($cat)); // now really quit it
|
|
|
|
sleep(1);
|
|
|
|
var_dump(proc_get_status($cat));
|
|
|
|
|
|
|
|
proc_close($cat);
|
|
|
|
|
|
|
|
echo "Done!\n";
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECTF--
|
|
|
|
bool(true)
|
|
|
|
array(8) {
|
|
|
|
["command"]=>
|
2007-02-21 16:27:12 +00:00
|
|
|
string(28) "/usr/bin/nohup /bin/sleep 50"
|
2007-02-14 19:20:15 +00:00
|
|
|
["pid"]=>
|
|
|
|
int(%d)
|
|
|
|
["running"]=>
|
|
|
|
bool(true)
|
|
|
|
["signaled"]=>
|
|
|
|
bool(false)
|
|
|
|
["stopped"]=>
|
|
|
|
bool(false)
|
|
|
|
["exitcode"]=>
|
|
|
|
int(-1)
|
|
|
|
["termsig"]=>
|
|
|
|
int(0)
|
|
|
|
["stopsig"]=>
|
|
|
|
int(0)
|
|
|
|
}
|
|
|
|
bool(true)
|
|
|
|
array(8) {
|
|
|
|
["command"]=>
|
2007-02-21 16:27:12 +00:00
|
|
|
string(28) "/usr/bin/nohup /bin/sleep 50"
|
2007-02-14 19:20:15 +00:00
|
|
|
["pid"]=>
|
|
|
|
int(%d)
|
|
|
|
["running"]=>
|
|
|
|
bool(false)
|
|
|
|
["signaled"]=>
|
|
|
|
bool(true)
|
|
|
|
["stopped"]=>
|
|
|
|
bool(false)
|
|
|
|
["exitcode"]=>
|
|
|
|
int(-1)
|
|
|
|
["termsig"]=>
|
|
|
|
int(15)
|
|
|
|
["stopsig"]=>
|
|
|
|
int(0)
|
|
|
|
}
|
|
|
|
Done!
|
2007-02-14 19:29:33 +00:00
|
|
|
--UEXPECTF--
|
|
|
|
bool(true)
|
|
|
|
array(8) {
|
|
|
|
[u"command"]=>
|
2007-02-21 16:27:12 +00:00
|
|
|
unicode(28) "/usr/bin/nohup /bin/sleep 50"
|
2007-02-14 19:29:33 +00:00
|
|
|
[u"pid"]=>
|
|
|
|
int(%d)
|
|
|
|
[u"running"]=>
|
|
|
|
bool(true)
|
|
|
|
[u"signaled"]=>
|
|
|
|
bool(false)
|
|
|
|
[u"stopped"]=>
|
|
|
|
bool(false)
|
|
|
|
[u"exitcode"]=>
|
|
|
|
int(-1)
|
|
|
|
[u"termsig"]=>
|
|
|
|
int(0)
|
|
|
|
[u"stopsig"]=>
|
|
|
|
int(0)
|
|
|
|
}
|
|
|
|
bool(true)
|
|
|
|
array(8) {
|
|
|
|
[u"command"]=>
|
2007-02-21 16:27:12 +00:00
|
|
|
unicode(28) "/usr/bin/nohup /bin/sleep 50"
|
2007-02-14 19:29:33 +00:00
|
|
|
[u"pid"]=>
|
|
|
|
int(%d)
|
|
|
|
[u"running"]=>
|
|
|
|
bool(false)
|
|
|
|
[u"signaled"]=>
|
|
|
|
bool(true)
|
|
|
|
[u"stopped"]=>
|
|
|
|
bool(false)
|
|
|
|
[u"exitcode"]=>
|
|
|
|
int(-1)
|
|
|
|
[u"termsig"]=>
|
|
|
|
int(15)
|
|
|
|
[u"stopsig"]=>
|
|
|
|
int(0)
|
|
|
|
}
|
|
|
|
Done!
|