題 在Mac上啟用/禁用啟動程序/腳本/服務


我將MacBook Pro升級到OS X Lion,現在風扇正在高速工作,即使在非常低的負載下也是如此。

我做了很多事情,重置PRAM,SMC等,但問題仍然存在。它似乎與Parallels或其他一些應用程序有關。

我想知道如何才能找到在MacBook上重啟時啟動的程序/腳本/服務。我不是在談論只是去 用戶帳戶 在 系統偏好。我的意思是完整列表,就像你在Linux機器上得到的那樣。


10
2017-09-12 09:27


起源


“我的意思是完整列表,就像你在linux機器上得到的那樣” - 我還沒有看到類似的東西。任何這樣的清單 將 不完整。 - Daniel Beck♦
請注意,這是一個故障排除問題還是您要求自動啟動程序。就目前而言,它有點兼而有之 真 很難回答。我其實很想刪除前兩段...... - Daniel Beck♦
一個非常經典的XY問題 恕我直言。 - bmike


答案:


查看正在運行的進程

  1. 從終端,使用 ps ax
  2. 應用程序»實用程序»活動監視器 並選擇 所有流程。你也可以從那裡退出。

自動啟動進程

  1. 那些被選中的人 在登錄時打開 在碼頭
  2. 那些人 系統偏好設置»帳戶»登錄項目 (實際上,這些包括來自1的那些)
  3. 登錄掛鉤 loginwindow  這裡描述,用當前值讀取 defaults read com.apple.loginwindow LoginHook
  4. 其中一些被指定為a的一部分 launchd 腳本(或以其他方式管理 launchd)。列出所有 sudo launchctl list。看到 man launchctl 詳情。

關於 launchd 列表,你可以看到他們的定義文件 LaunchAgents 和 LaunchDaemons 系統的子目錄 Library 目錄:

  • /System/Library (你可能不應該碰這些)
  • /Library/ (通常適用於所有用戶)
  • /Users/yourname/Library (你自己的程序)

在後兩個庫中,檢查可疑的任何內容。它通常是XML,因此您可以打開並閱讀它們。


這裡的問題是,你可以運行一個單一的過程,在一定的條件下啟動大量的其他過程,例如: cron 在OS X上存在但默認情況下已停用。指定 @reboot 對於一份工作,它將由 cron 在系統啟動時。

類似的東西適用於您的shell配置文件 .bash_profile 等,一旦打開終端,就可以在後台啟動進程。


19
2017-09-12 11:24



非常感謝!這都是? - flow
抱歉,我的意思是;還有其他一些程序和服務是在啟動時啟動的(不知道具體的時間),如並行,但它們不會出現在這些文件中 - flow
最後評論;我注意到啟動到安全模式,我沒有任何問題,所以可能是某些東西被加載到正常模式導致這個問題。我怎麼能找到“差異”才能知道這一點? - flow
@flow Parallels可能是一個內核擴展 /System/Library/Extensions。用於處理那些開頭的命令行工具名稱 kext。 - Daniel Beck♦
@flow我不介意建設性的評論,無論多少。 - Daniel Beck♦