mqtt およびその他の通信レコードを取得してデータベースに保存する php サービス スクリプトを作成します。通常、サーバー側でターミナルを開いてコードを実行してデータをキャプチャするだけで済みますが、ターミナルを閉じるとデータをキャプチャできなくなります。デーモンは、常にバックグラウンドで実行されているプロセスです。ターミナルなしでバックグラウンドで独立して実行できます。
1. ubuntuでは、通常は次のコードをサービススクリプトとして実行します。
php run.php
こうすることで、単一の端末で実行できます。しかし、ターミナルを使って他のことをすることはできません。
2. 次のように、コマンドの最後に & を追加します。
php run.php &
コマンドの最後に & 記号を追加する限り、開始されたプロセスは「バックグラウンド タスク」になります。実行中の「フォアグラウンド タスク」を「バックグラウンド タスク」に変更する場合は、最初に Ctrl + Z を押してから、bg コマンドを実行します (最後に一時停止した「バックグラウンド タスク」の実行を継続するため)。 fg
と入力して Enter キーを押して通常モードに切り替えることもできます。
「バックグラウンドタスク」には2つの機能があります:
現在のセッション (会話) の標準出力 (stdout) と標準エラー (stderr) を継承します。したがって、バックグラウンド タスクのすべての出力は引き続きコマンド ラインに同期して表示されます。
現在のセッションの標準入力 (stdin) は継承されなくなります。このミッションではコマンドを入力できなくなります。標準入力を読み取ろうとすると、実行は停止します。
ご覧のとおり、「バックグラウンド タスク」と「フォアグラウンド タスク」の本質的な違いは 1 つだけです。それは、標準入力を継承するかどうかです。したがって、ユーザーはバックグラウンド タスクを実行しながら、他のコマンドを入力することもできます。
tail -fn 50 nohup.out
関連する推奨事項:
Ubuntu で PHP5 を PHP7.0 にアップグレードする
ubuntu に php5.6.32 をインストールして、php 環境のセットアップ方法を完了します
PHPを構築するubuntu 開発環境サンプルチュートリアル
以上がubuntuでバックグラウンドphpサービスを実行する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。