Hapus Agen dari launchd

Sebagian besar pengguna Mac tidak perlu secara manual men-tweak launchd dan launchctl, tetapi ada kalanya Anda menghapus atau berhenti menggunakan aplikasi di Mac OS X dan agen layanan terus memuat tanpa perlu di launchd. Ini menjengkelkan, tetapi agen jahat ini mudah dihapus melalui baris perintah, jadi luncurkan Terminal dan pergilah. Selain itu, ada situasi di mana pengguna tingkat lanjut mungkin ingin mengubah agen yang dimuat ke dalam peluncuran untuk alasan apa pun. Dalam kasus apa pun, kami akan merinci cara mendaftarkan item dalam launchd, cara menghapusnya dari launchd di OS X, dan juga cara memuat ulang agen ke launchd di Mac.

Anda harus memiliki pemahaman dan kenyamanan menggunakan baris perintah dan Terminal untuk menggunakannya dengan benar, menjadikannya ideal untuk pengguna yang lebih mahir yang memiliki pengetahuan tentang peluncuran daemon dan cara melacaknya, yang terkadang hanya masalah untuk menemukan satu di Activity Monitor dari Mac OS X, atau dengan menggunakan perintah launchctl yang akan kita diskusikan segera. Jika Anda memutuskan untuk membalikkan modifikasi, Anda juga dapat memuat layanan atau daemon kembali ke launchd menggunakan perintah lain, yang secara efektif membatalkan langkah penghapusan awal. Mari kita lakukan:

Menghapus Peluncuran Agen & Layanan dari launchd di OS X

Berikut ini cara menghapus layanan dari launchd . Luncurkan Terminal dan kemudian gunakan sintaks berikut dengan perintah launchctl:

launchctl remove name

Misalnya, jika saya ingin menghapus layanan bernama "com.annoying.service" maka sintaksnya adalah:

launchctl remove com.annoying.service

Anda mungkin perlu menambahkan awalan perintah dengan sudo untuk menghapus layanan, dalam hal ini perintahnya adalah:

sudo launchctl remove com.annoying.service

Dengan awalan sudo Anda harus memasukkan kata sandi administrator sebelum perintah akan dijalankan.

Cara Melihat Apa yang Dimuat dalam peluncuran

Anda juga dapat memeriksa apa yang dimuat ke dalam peluncuran dengan menggunakan string perintah berikut:

launchctl list

Perintah ini mencantumkan semua agen dan pekerjaan yang dimuat ke launchd, memungkinkan Anda untuk dengan mudah memanipulasi agen yang sedang berjalan. Karena membuang banyak informasi ke layar sekaligus, Anda mungkin ingin menyalurkannya melalui lebih banyak atau kurang perintah seperti:

launchctl list |more

Ini memungkinkan Anda menekan tombol kembali untuk menavigasi lebih lambat melalui daftar.

Jika Anda tahu secara umum layanan yang Anda cari, Anda juga dapat menggunakan "grep" untuk menemukan layanan agen yang tepat, mari gunakan 'mdworker' sebagai contoh ::

launchctl list |grep mdworker

Ini hanya akan melaporkan kembali launchagen berikut:

- 0 com.apple.mdworker.sizing
- 0 com.apple.mdworker.single
- 0 com.apple.mdworker.shared
- 0 com.apple.mdworker.mail
- 0 com.apple.mdworker.lsb
- 0 com.apple.mdworker.isolation
- 0 com.apple.mdworker.bundles
- 0 com.apple.mdworker.32bit

Untuk beberapa layanan, membuang daftar juga dapat menunjukkan PID (ID proses) dari layanan aktif juga.

Memuat Agen Kembali ke launchd

Jika Anda memutuskan ingin mengaktifkan kembali dan memuat ulang layanan kembali ke launchd, gunakan flag 'muat' seperti ini:

launchctl load com.example.service.to.load

Beberapa agen akan memuat langsung tanpa masalah. Bagi yang lain, Anda mungkin perlu mereboot Mac sebelum layanan yang dimuat akan berfungsi seperti yang dimaksudkan lagi, meskipun kadang-kadang logout dan back in sudah cukup.