DelphiでのLinuxデーモン(サービスプロセス)を作成するために[ターン]

ボゴタの翻訳からの転送、私たちは、あまりにも貴重な好転しなければなりません!で元のアドレスここに以下は、オリジナルの言語です。

 

翻訳この記事テキストリンクは、より簡潔にするために変更精製・組版言語を作りました。

デルファイは、Delphiの開発者のためのLinuxサーバーアプリケーションを作成するための可能性を開くLinuxプラットフォームをサポートするようになりました。残念ながら、現在のRAD StudioのIDEは、Linuxデーモン(Windowsのサービス)の作成が含まれていません。

[注]この記事では、Linuxのコンパイラ環境を設定し、Linuxのコマンドラインで起動する方法を知っていることができていたと仮定しています。それ以外の場合は、以下を参照してください。 

[デーモン]

Linuxオペレーティングシステムでは、だけではなくデーモンプロセスの標準入出力ストリーム。これは、バックグラウンドで実行され、スクリーン(もちろん、あなたが出力ログ缶)に出力されませんキーボード入力を受け付けません。

サービスの[作成]

1.コンソールプロジェクトを作成し、LINUX64コンパイラのターゲットを追加します。
図2は、子プロセスを作成するために、フォーク機能のいずれかを参照するために添加Posix.Unistdユニットを使用します。
3、サブサービスプロセスを作成するためにフォークへのコールに参加する地元のプログラムの入り口。注フォーク関数は、子プロセスIDを返し、我々は(元のテキストが言っていなかったものです)サービスの終了を制御するために、設定ファイルに記述する必要があり、次の例では、単純な操作を行うことです裁判官は、直接から撤退しました。
戻り値は、彼が子プロセスであることを意味し、0であれば、現在のプロセスを終了する4、フォークコール出口は、成功しています。その後、実装プロセス、それの背面。

プログラムのProject1;
{ $ APPTYPE CONSOLE } 

{ $のR * .RESは} 

使用
  System.SysUtilsを
  Posix.Unistd。

開始
  しようとし
    た場合 > <)フォーク(0  その後、 開始
      終了を。
    エンド; 
    ... 
  除い
    E上:例外が行う
      のwriteln(E.ClassNameを、' ' 、E.Message)。
  エンド;
終わり

5、コンパイルして、ターゲットコンピュータの実行中のプロセスに公開します。

サービスの[作成]

このステップでは、初期のLinuxは、スクリプトを作成init.dディレクトリに入れ、次にステップ登録でステップで、異なるプラットフォームで同じではありません。新しいCentOSのはxxx.service定義を追加/ libに/ systemdに/システムです。それを設定するための適切なドキュメントを具体的に参照します。

 

おすすめ

転載: www.cnblogs.com/kinglandsoft/p/11459252.html