Aktywne Wpisy
![Dominik76](https://wykop.pl/cdn/c3397992/Dominik76_4PjKgNO942,q60.jpg)
Dominik76 +140
#p0lka
Mulat, student, pracujący, aktywny, i nie karzeł 180 tylko minimum 183 to ma z czym startować do pięknej, niewysokiej acz stawiającej warunki p0lki.
Mulat, student, pracujący, aktywny, i nie karzeł 180 tylko minimum 183 to ma z czym startować do pięknej, niewysokiej acz stawiającej warunki p0lki.
![Dominik76 - #p0lka
Mulat, student, pracujący, aktywny, i nie karzeł 180 tylko minimu...](https://wykop.pl/cdn/c3201142/7211241ae30e068111b1af0dea7e3c6aecc50da09e1a0a00bf176a55fb8872aa,w150.jpg?author=Dominik76&auth=4ff9aa73bb9ea5bc8360eaca1b79cb14)
![Jabby](https://wykop.pl/cdn/c3397992/Jabby_Pc6dT8B2RD,q60.jpg)
Jabby +135
Jedna jedyna rzecz jaka względnie wychodziła naszemu głupawemu rządowi to relacje z Ukrainą począwszy od rozpoczęcia konfliktu i to jak świat postrzegał naszą w nim rolę.
Oczywiście nawet to ci pisowscy idioci, z Morawieckim na czele, musieli spektakularnie spieprzyć. Jedna bezdennie głupia wypowiedź naszego "premiera" i świat już uważa że Polska strzeliła focha za zboże i odcięła pomoc militarną dla Ukrainy. Wizerunkowa katastrofa.
Trzeba koniecznie tych debili za miesiąc oderwać od władzy.
Oczywiście nawet to ci pisowscy idioci, z Morawieckim na czele, musieli spektakularnie spieprzyć. Jedna bezdennie głupia wypowiedź naszego "premiera" i świat już uważa że Polska strzeliła focha za zboże i odcięła pomoc militarną dla Ukrainy. Wizerunkowa katastrofa.
Trzeba koniecznie tych debili za miesiąc oderwać od władzy.
![Jabby - Jedna jedyna rzecz jaka względnie wychodziła naszemu głupawemu rządowi to rel...](https://wykop.pl/cdn/c3201142/44edca5f84cd196d1b26e44299dcf1a58e0692d7c5787e93b752526c4b849351,w150.jpg)
$script = arraypop(explode('/',$SCRIPTNAME)) ;
$scriptdir = substr($SCRIPTNAME,0,strlen($SCRIPTNAME)-strlen($script)) ;
$scriptURL = 'http://'. $HTTPHOST . $scriptdir . "$script" ;
$curlURL = 'http://'. $HTTPHOST . $scriptdir . "$script?runscript=curl" ;
# Indicate that script is being called by CLI
if ( phpsapiname() == 'cli' ) {
$CLI = true ;
}
# Action if script is being called by cURLprompt()
if ( $runscript == 'curl' ) {
$cmd = "/usr/local/bin/php ".$PATHTRANSLATED ; // server location of script to run
exec($cmd) ;
exit;
}
# USER INTERFACE
// User answer after submission.
if ( $post ) {
cURLprompt($curlURL) ;
echo 'Background CLI';
echo 'O.K. If all goes well, '.$script.' is working hard in the background with no ' ;
echo 'timeout limitations.
' ;
echo '' ;
exit ;
}
// Start screen.
if ( !$CLI AND !$runscript ) {
echo 'Background CLI' ;
echo '' ;
echo 'Click to run '.$script.' from the PHP CLI command line, in the background.
' ;
echo '' ;
echo '' ;
exit ;
}
# cURL URL PROMPT FUNCTION
function cURLprompt($urlpath) {
obstart(); // start output buffer
$c=curlinit($urlpath);
curlsetopt($c, CURLOPTTIMEOUT, 2); // drop connection after 2 seconds
curlexec($c);
curlclose($c);
obendclean(); // discard output buffer
}
?>
up
down
5 kexianbin at diyism dot com ¶3 years ago
Both settimelimit(...) and iniset('maxexecutiontime',...); won't count the time cost of sleep,filegetcontents,shellexec,mysqlquery etc, so i build this function mybackgroundexec(), to run static method/function in background/detached process and time is out kill it:
myexec.php:
php
function mybackgroundexec($functionname, $params, $strrequires, $timeout=600)
{$map=array('"'='\"', '$'=>'\$', '`'=>'`', '\'=>'\', '!'=>'!');
$strrequires=strtr($strrequires, $map);
$pathrun=dirname($SERVER['SCRIPTFILENAME']);
$mytargetexec="/usr/bin/php -r \"chdir('{$pathrun}');{$strrequires} \$params=jsondecode(filegetcontents('php://stdin'),true);calluserfuncarray('{$functionname}', \$params);\"";
$mytargetexec=strtr(strtr($mytargetexec, $map), $map);
$mybackgroundexec="(/usr/bin/php -r \"chdir('{$pathrun}');{$strrequires} mytimeoutexec(\"{$mytargetexec}\", filegetcontents('php://stdin'), {$timeout});\" <&3 &) 3<&0";//php by default use "sh", and "sh" don't support "<&0"
mytimeoutexec($mybackgroundexec, jsonencode($params), 2);
}
function mytimeoutexec($cmd, $stdin='', $timeout)
{$start=time();
$stdout='';
$stderr='';
//fileputcontents('debug.txt', time().':cmd:'.$cmd."\n", FILEAPPEND);
//fileputcontents('debug.txt', time().':stdin:'.$stdin."\n", FILEAPPEND);
$process=procopen($cmd, [['pipe', 'r'], ['pipe', 'w'], ['pipe', 'w']], $pipes);
if (!isresource($process))
{return array('return'=>'1', 'stdout'=>$stdout, 'stderr'=>$stderr);
}
$status=procgetstatus($process);
posixsetpgid($status['pid'], $status['pid']); //seperate pgid(process group id) from parent's pgid
streamsetblocking($pipes[0], 0);
streamsetblocking($pipes[1], 0);
streamsetblocking($pipes[2], 0);
fwrite($pipes[0], $stdin);
fclose($pipes[0]);
while (1)
{$stdout.=streamgetcontents($pipes[1]);
$stderr.=streamgetcontents($pipes[2]);
if (time()-$start>$timeout)
{//procterminate($process, 9); //only terminate subprocess, won't terminate sub-subprocess
posixkill(-$status['pid'], 9); //sends SIGKILL to all processes inside group(negative means GPID, all subprocesses share the top process group, except nested mytimeoutexec)
//fileputcontents('debug.txt', time().":kill group {$status['pid']}\n", FILEAPPEND);