Menghentikan LaunchAgents dan Daemon

23

Saya bekerja sebagai admin di lingkungan kampus. Salah satu tantangan adalah menghentikan layanan yang dipasang oleh siswa dengan jurusan CS. Beberapa waktu lalu mereka mendapat akses admin dan menginstal agen peluncuran dan daemon pada beberapa sistem. Para siswa juga telah menambahkan beberapa plist sebagai com.apple.myprog.run. Masalahnya adalah ini tidak ada di direktori launchagents atau di direktori launchdaemons.

Jadi pertanyaan saya adalah bagaimana menemukan jalur untuk layanan daemon ini. Kemudian langkah selanjutnya adalah bagaimana menghentikannya. Karena beberapa dari ini dapat mulai lagi dan lagi (berdasarkan bendera tertentu).

Prashant
sumber
Masalah serupa. Tidak dapat menghentikan daemon yang dimulai dengan launchctl load -wF /Library/LaunchDaemons/name.of.this.plist.
Meltemi

Jawaban:

20

Jika Anda ingin menghentikan item untuk boot ini cukup mengeluarkan perintah unload untuk memulai via launchctl. Untuk perbaikan permanen, tambahkan kunci yang dinonaktifkan ke dalam daftar dengan nilai true atau hapus / pindahkan file ke folder di mana launchd tidak akan memindai secara otomatis.

  • launchctl unload /System/Library/LaunchAgents/com.apple.AppStoreUpdateAgent.plist

Halaman manual untuk launchctl memiliki dokumentasi yang bagus untuk mengendalikan pekerjaan. Adapun kekalahan umum dari jurusan CS, Anda mungkin juga mempertimbangkan bahwa mereka mengedit apel yang ada untuk membuat mereka melakukan sesuatu yang tidak Anda harapkan, sehingga akan terbukti jauh lebih mudah untuk menginstal ulang OS dan memigrasi data pengguna kembali. dari cadangan (membayar catatan khusus untuk menginstal ulang file plist di / System / Library, / ruang Library (dan mungkin juga mengaudit ~ / Library pengguna admin). Kehilangan admin / root terhadap seseorang yang tahu cara mengubah sistem pada dasarnya adalah permainan berakhir dan pertahanan (menemukan dan menonaktifkan) perubahan sangat memakan waktu sebagai lawan pelanggaran (menginstal ulang sistem dari sumber yang dikenal baik dan menggunakan alat manajemen konfigurasi untuk memastikan file yang terdeteksi terdeteksi).

bmike
sumber
intinya adalah saya tidak tahu di mana plist telah disimpan. Saya telah mencari di direktori LaunchAgents dan saya tidak melihat aplikasi yang ada di sana.
Prashant
Mereka bisa dimana saja. Anda bisa boot ke safe mode dan membandingkan output daftar launchctl dengan daftar boot normal. mdfind akan menunjukkan kepada Anda file yang berisi pekerjaan jahat (jika mereka tidak mengecualikannya dari sorotan). Anda juga dapat secara teoritis menjalankan fs_usage terhadap launchd sendiri untuk melacak file mana yang dibaca saat boot, tetapi sekali lagi logistik untuk menjalankan fs_usage segera setelah boot dikombinasikan dengan fakta bahwa Anda masih perlu memeriksa setiap dan setiap file plist berarti Anda memiliki banyak pekerjaan dipotong untuk "mendeteksi perubahan dan menghapusnya secara operasi" sebagai lawan untuk mulai bersih.
bmike
1
Jika Anda benar-benar ingin menemukan setiap. Daftar pada sistem ini akan melakukannya. Daftar panjang. find / -type f -name "*.plist"
afragen
man launchctl unload Pada versi sebelumnya, opsi ini akan memodifikasi file konfigurasi. Sekarang status tombol Dinonaktifkan disimpan di tempat lain di dalam disk. .. (
Nakilon
@Nakilon Bisakah Anda lebih detail tentang versi? Apakah Anda mengacu pada perombakan launchd 10.11 atau "versi sebelumnya" yang lain?
bmike
17

Cara termudah yang saya temukan untuk melakukan ini adalah

sudo launchctl list | grep "rough name of what you want to find"
sudo launchctl remove "label.of.the.file"
Oantby
sumber
Terima kasih, inilah tepatnya yang saya inginkan. Cara menghapus layanan setelah menghapus file!
chmac
2

Coba periksa lokasi ini:

/ Pengguna / nama pengguna Anda / Perpustakaan / LaunchAgents /

/ Library / LaunchAgents /

/ Library / LaunchDaemons /

/ Sistem / Perpustakaan / LaunchAgents /

/ Sistem / Perpustakaan / LaunchDaemons /

Cory T
sumber
1

Anda dapat melakukan "launchctl dumpstate" dan itu akan menampilkan semua layanan yang dimuat dan path ke startup .plist dan konten.

Anda mungkin ingin menjalankannya melalui sesuatu seperti kurang karena banyak informasi.

Mark Heath
sumber