発売された代替品


1

アプリケーションがlaunchdデーモンとして実行されると機能しないライブラリーを使用するアプリケーションを作成しています。デーモンから使用するとバスエラーが発生するライブラリにバグがあります。 (私のスタックオーバーフローの投稿を見てください: https://stackoverflow.com/questions/20599283/signal-10-sigbus-in-c-library-when-running-application-as-launchd-daemon

私がアプリケーションを普通に走らせたとき、すべてがしかしながらうまくいく。私が考慮すべきlaunchdに代わるものがあるかどうか私は思っています。アプリケーションは起動時に起動し、ログインしているユーザーがいなくても実行する必要があります。クラッシュした場合はアプリケーションを再起動することをお勧めします。

私はスタートアップ項目に関するいくつかの研究をしました、しかし、それらが廃止されるので、私はAppleが機能性をいつの日かただ削除することに警戒しています。

回答:


2

いいえ。ここに着いているのとまったく同じ問題が他の方法でも発生する可能性があります。

StackOverflowの領域であるスタックトレースから明らかなことを詳しく説明しすぎることはありません。

デスクトップやシェルから実行するプログラムと比較して、問題は、デーモンが持っているさまざまなプロセス状態にほぼ間違いなくあります。環境変数、現在のディレクトリ、リソース制限、開いているファイルハンドル、制御端末、ルートディレクトリ、さらには補助グループでさえも、デーモン監視プログラムから実行されるデーモンプロセスでは、プロセス内で呼び出されるプロセスとは異なります。ログインセッション

あなたの問題は、双子の間のどんな違いにも及ぶかもしれません。 (私が学んだ推測は、スタックトレースにあるものが原因で、環境変数です。)しかし、これらの違いは、デーモン監視プログラムに固有のものです。固定された、決定可能な、プロセス状態でデーモンを実行することは、それらの設計の一部です。別のデーモンスーパーバイザーに置き換えても、ログインセッションで実行されているプロセスの状態と一致しない制御されたプロセス状態になります。

あなたはに代わるものを検討するべきではありません launchd。あなたはあなたのplistを見て、あなたのODBCドライバがそれを利用可能にすることを期待している正しいもの(おそらく私が言ったように環境変数)を設定するためにそれを調整するべきです。そして、あなたはそこにあるどんな4D docoでも読んでいるべきです。 ☺


JdeBPは実際に元の問題を解決することができました、あなたは答えを見ることができます ここに
Eric Milas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.