C# でサービスを作成しました。
サービスとしての Windows で問題なく動作します。また、次のコマンドを使用して、Raspberry pi で 1 回実行することもできます。
mono-service MyService.exe
ただし、サービスを制御したい、つまりデーモンとして実行したい。
現在、サービスを停止する方法を私が知っている唯一の方法は、「ps」コマンドを使用して mono プロセス ID 番号を取得し、「kill -9」を使用してプロセスを強制終了することです。
ただし、そうすると、サービスを再開できなくなるという不幸な結果が生じますか? そして、これまでのところ、再起動する唯一の方法は、最初に再起動することです。
これを行う正しい方法は、代わりに次のようにサービスを開始することです。
mono-service -l:/root/MyService.lock MyService.exe
-l:MyService.lock を使用すると、MyService.exe サービスのプロセス ID を保持するファイルが作成されるため、mono の pid ではなくその pid を強制終了できます。
ただし、これを行うと、サービスがまったく開始されず、Myservice.Lock ファイルが作成されません。sudo を追加しても違いはないので、権限の問題ではないと思いますが、Linux のスキルが限られているためわかりません。
私はすべての最新バージョンのソフトウェアを使用しており、これを Raspberry Pi B+ で実行しています。
私はここで立ち往生しています。どんな提案でも大歓迎です。ありがとうございました。