php-src/ext/standard/tests/general_functions/proc_open02.phpt

113 lines
1.7 KiB
Plaintext
Raw Normal View History

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!