実装する機能: userテーブルを監視し、新しいレコードが追加された場合はuser2テーブルに追加します。 (実際のアプリケーションは、データの関連処理など、より詳細なものになります)
以下は PHP コード (dbtest.php) です。
コードは次のとおりです:
!#/usr/local/php /bin/php
php
mysql_connect('localhost', 'username', 'password');
echo 'PID: '.posix_getpid()';プロセス PID (Linux の場合)
$ old_id = 0;
while (1)
$sql = "SELECT `id` FROM `user` ORDER BY `id` DESC LIMIT 1"; );
$item = mysql_fetch_assoc( $result);
$new_id = $item['id'];
$i>$old_id && $old_id! =0; $i--)
{
$sql = "SELECT `name`,`age` FROM `user` WHERE `id`='{$i}' LIMIT 1"; );
$item = mysql_fetch_assoc( $result);
$name = $item['name'];
$values_arr[] = " , '{$age}') ";
}
if (!emptyempty($values_arr))
{
$values_str = implode(',', $values_arr);
$sql = "`user2`(` name`, `age`) VALUES {$values_str}";
mysql_query($sql);
}
$old_id = max($old_id, $new_id);
sleep(3); // 3 の後に次のループに入る秒
}
ビジネス プロセスはすべきです 言うことはありませんが、注意すべき点がいくつかあります:
最初の行は PHP CLI モードで追加する必要があるコマンド パスであり、while(1) があります。残りは通常の PHP コード記述メソッドです。
シェル コマンド php dbtest.php を使用して実行してください。通常の状況では、CPU 使用率は 0%、メモリは 1% です。
実際のアプリケーションでは、バックグラウンドで実行できます:
php dbtest.php &
追記: & コマンドは多くの場所で不明瞭であったり、間違っていたりします。実際にプログラムを実行せずに、プログラムをバックグラウンドに置くだけです。
ところで、Linuxの表裏操作に関わるコマンドをまとめておさらいしてみましょう
コマンドの表裏ステータスの使い方
&コマンドの後にバックグラウンドポーズが追加されます
bgバックグラウンド実行の後には、ジョブ番号
fg フォアグラウンド実行の後にジョブ番号が続きます
Ctrl+Z バックグラウンドで一時停止 (キーの組み合わせ)
jobs (すべてのジョブ番号を表示) コマンド
その他の関連記事については、php 中国語 Web サイト ( www.php.cn)!