16.04 Perintah untuk mendaftar semua layanan yang dimulai saat boot

21

Saya telah menginstal mongodb v3.4. Ini dimulai saat boot.

Jadi saya bertanya-tanya, bagaimana cara mencari tahu apa yang memulai ini (dan bagaimana menonaktifkannya dari mulai saat boot)?

Berikut ini tidak berfungsi:

Bagaimana saya bisa menghentikan mongodb dari memulai boot sistem (lama)

Perintah untuk mendaftar layanan yang dimulai saat startup? (tua)

Karl Morrison
sumber
3
service --status-alldaftar semua layanan. Anda dapat merujuk ini
Wisnu NK

Jawaban:

47

Sejauh saya sekarang, layanan diaktifkan secara otomatis di Ubuntu, jadi ketika Anda menginstal sesuatu seperti Apacheitu akan dimulai saat boot.

Temukan beberapa informasi

Untuk mengetahui semua layanan yang telah dijalankan saat startup:

systemctl list-units --type service

ini akan menampilkan semua layanan yang telah dimuat saat boot dan aktif sekarang. Jika Anda ingin mendapatkan daftar semua layanan tidak peduli mereka aktif atau tidak:

systemctl list-units --type service --all

Hal lain yang dapat Anda lakukan adalah menjalankan:

systemctl list-dependencies --type service

lalu tekan /dan cari untuk mongodbmelihat apa service/ targettergantung padanya dan jalankan.

Anda juga dapat menjalankan:

locate mongodb.service

Yang menghasilkan sesuatu seperti:

/lib/systemd/system/multi-user.target.wants/mongodb.service

maka Anda akan tahu bahwa itu dimulai sebagai bagian dari target multi-pengguna, alternatif untuk ini adalah:

$ systemctl cat mongodb.service | grep -i wantedby
WantedBy=multi-user.target

Nonaktifkan itu

Untuk mengetahuinya jika aktif (Akan dijalankan saat startup / waktu boot):

systemctl is-active mongodb

Entah activeatau inactive; Dalam kasus Anda seharusnya active.

Untuk menghentikannya agar tidak dimulai saat boot, kita harus menonaktifkannya:

sudo systemctl disable mongodb

Dan untuk memastikan tidak ada yang lain (Tidak ada layanan lain) yang dapat memulainya, kami sembunyikan:

systemctl mask mongodb

jadi itu akan ditautkan /dev/nulldan tidak dapat dimulai secara otomatis atau manual lagi.

Saya tidak mengetahui mongodbnama layanan, coba tekan tab itu akan selesai. Saya kira itu mongodb;)

Ravexina
sumber
systemctl list-units --type servicetidak akan menampilkan layanan pengguna. Ingin tahu apakah ada cara untuk menunjukkan semua = sistem dan semua layanan pengguna?
EdiD
sudo update-rc.d mongodb disable
CRTLBREAK
9

Untuk mengetahui apakah suatu layanan diaktifkan pada saat boot, perintah yang tepat adalah:

systemctl is-enabled apache2
enabled

Anda dapat mencoba sendiri dengan mengubah keadaan

systemctl enable apache2
systemctl disable apache2

(ini tidak dimaksudkan sebagai jawabannya)

BitLegacy01
sumber
0

Lihat juga Pengaturan -> Sesi dan Startup -> Autostart Aplikasi untuk melihat apakah aplikasi Anda disebutkan di sana.


sumber