問題タブ [launchdagent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
416 参照

cocoa - 管理者以外のユーザーがエージェントを無効にしないように、ユーザーごとのGUI起動エージェントを保護するにはどうすればよいですか?

私はlaunchdデーモンのペアを持っています。そのうちの1つは真のデーモン(rootとして実行)であり、もう1つはGUIセッションごとに実行されるGUIエージェント(セッションタイプAqua)です。

管理者レベル以外のユーザーがlaunchctlを使用してユーザーレベルのエージェントを無効にできないようにするか、少なくともルートレベルのデーモンからエージェントをリロードする方法を理解する必要があります。

私がこれまでに見つけた最高の記事はこれです、それは実際には明確な解決策を提供していません。

最も簡単な方法は、ルートデーモンで現在のコンソールユーザーを定期的にフェッチしてからlaunchctl load ...そのユーザーとして実行することですが、それが可能であるかどうか/これをどのように実行するか(ユーザーを装わずにデーモンを使用すると、rootユーザーの下にロードされますが、これは役に立ちません)。

何か案は?

0 投票する
4 に答える
9120 参照

macos - GUIセッションを持つすべてのユーザーの起動エージェントの開始/停止

ルートレベルのデーモンからセッションごとのGUIエージェントを開始/停止できる必要があります。

同様の問題がここここここで議論されています。

私がやりたいのは基本的に

ただし、これは1つのインスタンスのみを開始/停止し、現在のGUIセッションでrootとして実行されます。sudoをオフにしておくと、開始します

bsexecの他のさまざまな順列をいじってみましたが(load / unloadコマンドを使用してbsexecからセカンダリスクリプトを呼び出すことを含む)、インスタンスをroot以外のものとして起動したり、別のGUIセッションで起動したりすることはできません。 。

私もとをいじってみましたが、そこでも運がsu - <user> ...ありsudo -u <user> ...ませんでした(多くの人が上記のリンクされた記事や他の場所で議論しているように)。

誰か考えがありますか?

編集:Graham Leeが以下に提案するように、ラッパーツールを使用してこれを実行しようとしましたが、次のエラーが発生します。

これは、私が使用しているコマンドラインコマンド、ラッパー、およびスクリプトです(501はユーザーIDであり、63093はシステムにログインしている別のユーザーのlaunchdのpidです)。

コマンドライン:

ラッパー:

脚本:

0 投票する
4 に答える
1036 参照

objective-c - LaunchAgent - RunAtScreenSaver のようなものはありますか?

マシンが「アイドル状態」のときにアプリを実行する方法を探しています (これはバックグラウンド タスクです)。良い出来事は、スクリーンセーバーが起動したときです。私はすでに auf launchd のマニュアルを読み、すでに LaunchAgent を使用して特定の間隔でアプリを起動していますが、スクリーンセーバーがアクティブなときにアプリを起動するのに役立つものは何も見つかりませんでした。

それを行う可能性はありますか?

前もって感謝します!

ジョシュ

0 投票する
1 に答える
3544 参照

cocoa - Mac OS x 10.5 / 10.6 に起動エージェントをインストールする方法

ココアで launchAgent を開発しました。plist ファイルを /Library/LaunchAgents/ の場所に配置することで、開発環境で問題なく動作します。これを他のラップトップに配布してインストールするには、パッケージ メーカー ツールを使用してパッケージを作成しました。インストール プロセスの一環として、plist ファイルのアクセス許可を変更し、/Library/LaunchAgents の場所にコピーしたいと考えています。どうすればこれを達成できますか?

事前に助けてくれてありがとう....どんな助けでも大歓迎です..!!!!

0 投票する
2 に答える
540 参照

launchd - Launchedを使用するMacAppStoreのアプリケーションを提出したり、知っている人はいますか?

誰かがアプリを正常に送信したのか、launchdを使用するMacAppStoreに存在するアプリを知っているのか疑問に思っています。

ありがとう。

0 投票する
1 に答える
1030 参照

macos - OSX-起動デーモンと起動エージェント間の通信

私はOSXを初めて使用し、起動デーモンと起動エージェントの2つの部分からなるアプリケーションを作成する必要があります。デーモンは、コマンドの実行やロギングなどを実行し、これらの結果を起動エージェントに何らかの方法で伝達する必要があります(これは、GUIを表示するログイン項目に転送されますが、これは将来のステップです)。

私の質問:どうすればこのコミュニケーションを実現できますか?Appleのドキュメントを読んだ後、これまでに収集できたのは、CFSocketを使用するのが最善の策だということです。別の(より簡単な)方法はありますか?CFSocketsの使用方法を示すサンプルチュートリアル/例/コードはありますか(見つかりませんでした)?

PS:私の質問はこれと重複しているかもしれませんが、その質問はまだ回答されていないので、これを投稿することを考えました。

0 投票する
1 に答える
5988 参照

macos - launchd ジョブが奇妙な理由で exec(3) に失敗しました: 8

OS X Mountain Lion 10.8.3 で簡単なタスクをスケジュールしようとしています。

コマンドはスクリプトを実行せず、コンソールにメッセージをスローします

私のplistはとてもシンプルです:

スクリプトも非常にシンプルです

launchctl はエラーなしでロードしました。シェルからスクリプトを実行すると、期待どおりに動作します。ログオフして再度ログインしても役に立ちません。Googleで答えが見つかりませんでした。その「奇妙な理由: 8」とは何ですか?

0 投票する
2 に答える
551 参照

php - Mac osx での PHP Fast CGI - phpfcgi.plist がロード時に実行されず、再起動時にも実行されない

phpcgi.plist をロードしましたが、php-fastcgi が実行されていません。

plist ファイルは次のとおりです。

plist XML:

リンクしました:

そして私はそれをロードします:

そして私はそれをチェックします:

動作していません。

しかし、実行することでphp fastcgiを起動できます。

0 投票する
1 に答える
102 参照

macos - launchd は自動的に開始します

毎日午前 4 時に開始して Mac を再起動し、いくつかのメンテナンス スクリプトを実行するタスクを作成しようとしています。これは私のスクリプトです:

launchctl unload / load を実行して plist ファイルをリロードすると、スクリプトが実行されます。RunAtLoad パラメータを false に設定したため、少し混乱しています。多くのことを試しましたが、実行できません。ここで私のせいは何ですか?

オペレーションシステム:OS X 10.9

0 投票する
1 に答える
115 参照

macos - launchd plist でスクリプトが実行されない

launchd を使用して、毎日特定の時間に AppleScript の 1 つを実行したいと考えています。

plist を作成して LaunchAgent フォルダーに配置しましたが、スクリプトが実行されません。

LaunchControl ( http://www.soma-zone.com/LaunchControl/ ) をダウンロードしました。AppleScript を「実行するプログラム」ボックスにドラッグすると、パスは最初は赤でした。

chmod u+x /path/to/script を実行すると、パスが緑色になりました。

ただし、LaunchControl で実行すると、エラーが発生します。

スクリプトは単独で正常に動作します。私はシェルスクリプトを使用していません。それらはapplescriptです。

私はそれが単なるパーミッションの問題であることを望んでいます.将来的にはより多くのlaunchdエージェントを使用したいと思っています.

助けてくれてありがとう。