ずっと実行したいphpファイルを作成しました。次に、スクリプトがまだ実行されていることを確認するためにCRONで実行する基本的なラッパーを作成し、必要に応じて再起動します。
私のcrontab -e
エントリは次のようなものです。
20 * * * * /var/www/bot/cron.php
cron.phpの内容は次のようになります。
#!/usr/bin/php
<?php
@exec ('ps aux | grep loop', $output, $ret_var);
$running = false;
foreach ($output as $line)
{
if (strpos($line, 'bot.php') !== false)
{
$running = true;
break;
}
}
if (! $running)
{
@exec('/usr/bin/nohup php ' . __DIR__ . '/bot.php >/var/log/bot_out 2>&1 &');
}
die();
ただし、これを機能させるのに問題があります。足りないものはありますか?
エラーログには何も表示されず、/var/log/bot_out
実行時エラーも表示されるので、PHPを呼び出す必要があることはわかっています。
PHP Warning: Module 'apc' already loaded in Unknown on line 0
PHP Warning: Module 'suhosin' already loaded in Unknown on line 0