posix_kill_basic.phpt 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. Test posix_kill(), posix_get_last_error and posix_strerror() functions : basic functionality
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('posix')) die('skip - POSIX extension not loaded');
  6. ?>
  7. --FILE--
  8. <?php
  9. echo "Basic test of POSIX getpgid(), kill(), get_last_error() and strerror() functions\n";
  10. // Don't rely on PCNTL extension being around
  11. $SIGKILL = 9;
  12. // TODO Once we have PS open working beef up this test to create a process and kill it
  13. // for now start at a low pid and find first pid which does not exist.
  14. $pid = 999;
  15. do {
  16. $pid += 1;
  17. $result = shell_exec("ps -p " . $pid);
  18. } while (stripos($result, (string)$pid) != FALSE);
  19. echo "Kill pid=" . $pid . "\n";
  20. var_dump(posix_kill($pid,$SIGKILL));
  21. $errno = posix_get_last_error();
  22. var_dump($errno);
  23. var_dump(posix_strerror($errno));
  24. ?>
  25. ===DONE====
  26. --EXPECTF--
  27. Basic test of POSIX getpgid(), kill(), get_last_error() and strerror() functions
  28. Kill pid=%d
  29. bool(false)
  30. int(%d)
  31. string(%d) %s%rNo such process|Operation not permitted%r%s
  32. ===DONE====