php - PHP를 통해 프로세스에 신호 보내기

출처 php shell

웹 페이지의 버튼을 사용하여 프로세스 ID에 kill -10 (SIGUSER1)을 ​​보내려고하는데, PHP 변수 (PID를 보유한)를 쉘에 전달하는 동안 신호를 보내는 다른 방법을 시도했습니다. 다음은 내가 가진 것입니다.

$next = posix_kill($pid3, 10);


지금은 다음과 같은 오류가 발생합니다.

PHP Warning:  posix_kill() expects parameter 1 to be long, 
              string given in /var/www/parse2.php on line 15


조언하십시오
이것을 시도하십시오 :

$next = posix_kill((long)$pid3, 10);


Intval는 int를 반환하므로 경고가 사라지지 않지만 작동 할 것입니다.

따라서 여전히 문제가있는 것 같기 때문에 다른 곳에서 제안한 것과 같습니다.

$next = posix_kill(intval($pid3), 10);


그래도 작동하지 않으면 사용하는 PHP 버전을 알려주는 것이 좋습니다.

함께 제공되는 공간이 없으면 다음을 시도하십시오.

$next = posix_kill(intval(trim($pid3)), 10);


최신 정보:

이제 작동하게되었습니다. 신호를 잡아서 뭔가를해야합니다. 나머지 코드를 모르기 때문에 콜백 함수를 첨부해야합니다. 다음과 같은 것이 필요합니다.

pcntl_signal(SIGUSR1, "sig_handler");


그런 다음 해당 신호에 대해 뭔가를 수행하십시오.

function sig_handler($sig) {

   switch($sig) {
      case SIGUSR1:
         // logtrace(1,"received USR1 signal.");
         break;
   ...


한 가지만 생각하면 시그널을 보내는 프로세스가 PHP 스크립트라고 가정합니다. 그렇지 않으면 나는 당신이 그것을 작동했다고 생각하지만 많이하지 않습니다 (아직)
관련 기사

php - 컬 페이지 제목

php - Zend Framework 2-주석 양식이 작동하지 않습니다.

php - 인수에서 문자열 연결 (PHP)

php - 작동하지 않는 연관 배열에서 키 제거

php - $ _POST 수퍼 글로벌에서 PHP가 어레이를 생성하지 못하도록 중지

php - Sublime Text 2가있는 Xdebug

php - PHP에서 특정 문자열을 시간으로 변환

php - .csv 파일을 생성 할 수 없습니다 : PHP

php - PHP를 통해 wait_timeout 및 max_allowed_packet을 변경하는 방법이 있습니까? [복제]

php - MYSQL 연도의 중단 날짜 중에서 선택