タグ付けされた質問 「launchd」

自動化プロセスを開始、停止、および管理するためのシステム。

1
LaunchAgentsとLaunchDaemonsの違いは何ですか?
macOS 10.12.5では、ユーザーライブラリディレクトリにLaunchAgentsしか表示されません。ユーザーがログインしている場合にのみエージェントが呼び出されますか? /図書館/ LaunchAgents / /図書館/ LaunchDaemons / /システム/図書館/ LaunchAgents / /システム/図書館/ LaunchDaemons / /ユーザー/ ユーザー名 /図書館/ LaunchAgents /

3
「ulimit -n」の制限を適切に増やす方法は?
X-Plane 10 DemoをuTorrent からダウンロードしようとしていますが、「開いているファイルが多すぎます」というエラーが常に表示されます。代替ダウンロードを行うことはできますが(これには永遠に1日かかります)、Lionの設定をどのように増やすことができますか? 私はそれについて矛盾する情報を見つけました。一部の人はそれを選択するツールであるulimit -nと言い、sysctl他の人launchctlはそれが正しいと報告しています。 報告された値ulimit -nは256で、同じですlaunchctl limit: cpu unlimited unlimited filesize unlimited unlimited data unlimited unlimited stack 8388608 67104768 core 0 unlimited rss unlimited unlimited memlock unlimited unlimited maxproc 709 1064 maxfiles 256 unlimited
8 lion  launchd  kernel 

2
OSXでcronサービスを再起動するにはどうすればよいですか?
ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G31 $ sudo cron restart cron: cron already running, pid: 257` ここhttps://stackoverflow.com/questions/10193788/restarting-cron-after-changing-crontab-fileの答えはどれもOSXに当てはまらないようです。さて、上のほうが一番近いですが、cronが実行中であることを教えているだけなので、再起動することを心配する必要はありません。これは何かを再起動するポイントではありません。 Macでcronサービスを停止して再起動するにはどうすればよいですか?

3
launchdは10秒ごとよりも頻繁にプログラムを実行できますか?
ファイルが変更された直後に実行したいこのようないくつかのサービスがあります。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd> <plist version="1.0"> <dict> <key>Label</key> <string>test</string> <key>ProgramArguments</key> <array> <string>say</string> <string>a</string> </array> <key>WatchPaths</key> <array> <string>/Users/username/Desktop/</string> </array> </dict> </plist> ThrottleIntervalが1または0に設定されている場合でも、最大で10秒ごとにのみ実行されます。 9/9/12 4:57:05.457 PM com.apple.launchd.peruser.501[138]: (test) Throttling respawn: Will start in 7 seconds 9/9/12 4:57:09.541 PM com.apple.launchd.peruser.501[138]: (test) Throttling respawn: Will start …
8 macos  launchd 

3
メモリリークのあるプロセスを自動的に強制終了するにはどうすればよいですか?
メモリリークするプロセスに問題があります。これにより、私のハードドライブがのスワップファイルでいっぱいになります/private/var/vm。 リークしているプロセスがOSによって一覧表示で強制終了されるようにしたいと思います。20分後に表示され、アプリケーションを強制終了するように提案し、リークしているダイアログも表示しないダイアログには興味がありません。 rssとのdata制限を設定してみ/etc/launchd.confましたが、効果がないようです。 これは私の/etc/launchd.confです: limit data 8589934592 8589934592 limit rss 8589934592 8589934592 ここでlaunchctl limit出力は: % launchctl limit cpu unlimited unlimited filesize unlimited unlimited data 8589934592 8589934592 stack 8388608 67104768 core 0 unlimited rss 8589934592 8589934592 memlock unlimited unlimited maxproc 709 1064 maxfiles 256 unlimited これは私の.zshrcです: ulimit -t 600 ulimit -d …
8 macos  memory  launchd 


6
LaunchAgentをルートとして実行するにはどうすればよいですか?
ユーザーログイン時にrootとしてプロセスを実行したい。 私/System/Library/LaunchAgents/eXist.plistはrx—r—r—権限で作成しました: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>GroupName</key> <string>wheel</string> <key>Label</key> <string>eXist DB</string> <key>Program</key> <string>/Applications/eXist-db/bin/startup.sh</string> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/tmp/eXist DB.err</string> <key>StandardOutPath</key> <string>/tmp/eXist DB.out</string> <key>UserName</key> <string>root</string> </dict> </plist> ただし、プロセスdaveaはルートではなくユーザーとして実行され続けます。他に何をする必要がありますか? Mac 10.9.1を使用しています。

1
launchctl / plistを使用して再起動時に複数のコマンドを実行する方法
OS Xでは、plistファイルは ~/Library/LaunchAgents/ (あるいは、あなたがそれを操作するのを好むパーミッション/ユーザーに応じて、似たようなもの)、そしてそれを使ってロードする launchctl 再起動時に機能するようにします。しかし、plistファイルに複数のコマンドを定義することは可能ですか。その場合は、どうすれば定義できますか? たとえば、次のような一連のPythonプログラムを実行したいとします。 python first_script.py そして、最初のスクリプトが終了した後にスクリプトを実行したいのですが(この2つのスクリプトを2つの異なるplistファイルに定義することはできません)。 python second_script.py 私はOS X Mavericks 10.9.2を使っています。 ボーナス これは私が今したいことではなく、好奇心以外には何もありませんが、最初のプログラムの結果によっては2番目のプログラムを実行することも可能ですか?だから、例えば: python first_script.py そしてこのスクリプトが成功すると: python second_script.py --result true そしてそれが失敗した場合: python second_script.py --result false --reason XXX
6 macos  launchd 


1
起動されたスクリプトの出力がsystem.logに記録されない
サンプルスクリプト: #!/bin/bash echo "Hello?" ... (other things) launchdを介して実行すると、確実に実行されます(他の処理が行われます)が、system.logには何も表示されません。OS 10.9を実行しています。 その行を置き換えてみました syslog -s "HELLO?" しかし、それも何も示していません。
4 launchd  logs 

0
macOS LaunchAgentサービスが重複プロセスを実行する[終了]
UIアプリケーションをLaunchAgentとして実行しているときに、同じユーザーで1つではなくデュアル実行プロセスを取得することがあります(重複した同一のウィンドウによって画面に反映されます)。これは競合が原因で発生すると思います/Library/LaunchAgents。関連するplistファイルが内に作成されたときに監視および実行することもできますが、手動でエージェントをロードします。 ユーザーごとに単一/一意のプロセスを強制するにはどうすればよいですか。おそらく、この要求専用のplistフラグがありますか?
4 launchd  plist 

1
写真アプリがcloudphotosd、photoanalysisdなどを起動しないようにするにはどうすればよいですか?
写真アプリで使用される多くのバックグラウンドサービスは、私が利益を得ることを望まない機能を実行します(場合によっては、積極的には望まない)。主にこれらはphotoanalysisdとcloudphotosdです。私は、写真アプリが動作するために前者が厳密に必要ではないことを合理的に確信しています(いくつかの機能に必要な場合)私は後者については少し確信がありませんが、それは正確に問題の推力ではありません。(photolibraryd私はアプリがまったく正しく動作するために必要であることに気づいているので、私はそれに触れていません)。 私が立ち往生しているように見えるのは、彼らの立ち上げが尊重されていないように見えることlaunchctl disableです。実際、launchctl print gui/$UID両方のデーモンがdisabled servicesセクション内に含まれ、フラグはに設定されtrueていますが、どちらも実行されていません。写真アプリは、起動するとすぐにこれらのデーモンを起動します。launchd写真アプリを起動してテスト後にチェックしてもフラグは変更されないため、でそれらを有効にしません。 間違ったlaunchdドメインでそれらを無効にする可能性を考慮して、私はドメインでそれらを無効にしてみましたが、system何の効果もありません。 またlaunchctl unload -w、対応する.plistファイルでレガシーパターンを使用しようとしまし/System/Library/LaunchAgents/たがlaunchctl、その場合、サービスが見つからないという通知を受けました。 いくつかの揮発性状態をフラッシュまたはリロードする必要がある場合、それらのサービスに無効のフラグが付けられたことを確認した後、システムをシャットダウンして再起動しました。写真アプリが起動するとすぐに戻ってきました。 launchctl blame gui/$UID/cloudphotosdサービスはのために開始されたと簡単に述べましたが、xpc (mach)実際にはあまりわかりません(ここでのプロセス間通信は、おそらくサービスを開始する写真アプリにすぎません)。 これらの特定のバックグラウンドプロセスを実際に無効にして、システムから削除したり、その他の「破壊的な」変更を行ったりせずに、写真アプリで起動できないようにする方法を考えています。または、言い換えれば、おそらく実際の実行可能ファイルを見つけてアーカイブのためにどこかに移動することはできますlaunchdが、特定のサービスを実際に禁止する方法がシステム内で機能しているかどうかについて私は興味がありません打ち上げから。私はそれがlaunchctl disable...だと思ったが、この例では効果がないように見えるので、そうではないようだ。 編集:明確にする必要があります、これはmacOS 10.14 / Mojaveにあります。

1
システム整合性保護を無効にせずにmDNSResponderを停止する方法または可能ですか?
私は次を試しました: $ sudo killall -HUP mDNSResponder $ sudo killall -9 mDNSResponderHelper mDNSResponder $ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist:System Integrity Protectionが有効な間は操作は許可されません それらのどれもmDNSResponderの実行を停止しません。 なぜこれをしたいのですか?蓋を閉める前に止めたいだけです。なぜなら、この愚かなアプリは、ふたを閉じたままにしてシステムを起動しているからです。システムがスリープ状態のときに実行されないように、さまざまな方法を試しました。しかし、それらのどれも機能しません。そのため、最良のオプションは、強制的に強制終了し、後で再実行することです。どうもありがとう。 ところで、これはXYの質問ではありません。止めたいという意味です。上記の説明は、私がそれをやりたい理由を明確にするためのものです。まあ、私は本当にそれを止めたいです、そして、これは質問です。システムがスリープ状態で蓋が閉じている場合、アプリは100%役に立たない。ありがとう。
3 launchd  dns  mdns 

1
ユーザーLaunchAgentの正常なロード
plistファイルを作成して、Windows(Cygwin)およびLinuxで正常に使用してlocalhostのポート経由でリモートサーバーからimapd接続をストリーミングするxinetdプロセスを置き換えました。ssh plutilコマンドは、私の設定がOKであると言います。launchctl load path-to-plistエラーなしで実行されます。 launchctl listエージェントを実行しても表示されません。ローカルホストのポートに接続しようとすると、接続が拒否されます。 これが私のplistファイルです。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.my.ssh_tunnel</string> <key>Program</key> <string>/usr/bin/ssh</string> <key>ProgramArguments</key> <array> <string>-F /Users/userx/.ssh/config</string> <string>dname /usr/sbin/imapd</string> </array> <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SockServiceName</key> <string>dname-imapd</string> <key>SockType</key> <string>stream</string> <key>SockProtocol</key> <string>TCP</string> </dict> </dict> <key>inetdCompatibility</key> <dict> <key>Disabled</key> <false/> <key>Wait</key> <false/> </dict> …

1
mysqlが起動時にロードに失敗する
Macbookを持っています。永遠にmysqlサーバーをインストールして起動時に実行していました(El Capitanを使用)。 さて、Wineをインストールしました。それ以降、mysqlサーバーは再起動時に起動に失敗します。それから手動で実行./mysqldする/usr/local/mysql/bin とうまくいきます。奇妙なことは次のとおりです:launchctl list実行中のプロセスのリストを表示するためにgrepを使用してパイプする場合、mysqlは表示されません(実行されていることがわかります!) mysqldを実行しているターミナルウィンドウ: 実行中の mysqlプロセスが表示されない grep検索を実行するターミナルウィンドウ[作業中にどのように見えるかを示すために、コントロールグループとしてGPGを検索しました。 以前にセットアップを実行していたときに、これを使用しました:https : //stackoverflow.com/a/35445024/2226328に問題も問題もなく。を使用してワインをインストールしてから:起動時にロードbrew install wineできませんmysqld。何か案は? これでwineをアンインストールして同じ問題が発生したため、brew update同様に実行しましたが、mysqlを個別にインストールすることを決定しました。 編集:ここでいくつかの最後のフォローアップ。sudo launchctl listを実行したら| grep mysqlは、mysqldが動作していることを示していました... mysqlエントリのsystem.logを見ると、起動に失敗していることが示され、以下の回答に記載されているエラーログplistエントリが作成されました。mysqlフォルダーの権限を変更すると、再帰的に問題が修正されました。このコマンドは、システム上のmysqlユーザーの名前を表示します。 dscacheutil -q user | grep mysql

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.