gpt4 book ai didi

linux - PHP 守护进程在失败时自动重启

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:25 24 4
gpt4 key购买 nike

我有一个作为守护进程运行的 PHP 脚本。每隔一段时间,我希望脚本在收到信号时休息一下并重新启动以清除内存使用量。

我一直在看 shell_exec();杀死并重新启动 PHP 脚本,但是我想知道是否有更清洁的方法。我还研究过将 PHP 脚本打包成批处理,并在需要时重新启动它,但我只懂 PHP。

declare(ticks = 1);
$processID = pcntl_fork();
if ( $processID == -1 ) {
echo "\n Error: The process failed to fork. \n";
} else if ( $processID ) {
exit;
} else {
}
if ( posix_setsid() == -1 ) {
echo "\n Error: Unable to detach from the terminal window. \n";
}
$posixProcessID = posix_getpid();
$filePointer = fopen( "/var/run/addy.pid" , "w" );
fwrite( $filePointer , $posixProcessID );
fclose( $filePointer );


gc_enable();
while (true) {

sleep(1);

print "debug: memory_get_peak_usage: ".memory_get_peak_usage()." debug: memory_get_usage: ".memory_get_usage()."\n";

// STUFF GOES HERE

unset($array);
gc_collect_cycles();
}

感谢您的帮助!

最佳答案

一种方法是使用一个 BASH 脚本来运行您的守护进程。

#!/bin/bash

while [ 1 ]; do
./my_php_daemon
done

然后只要您希望它重新启动,就退出您的 php 守护进程。

关于linux - PHP 守护进程在失败时自动重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4786676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com