Saya ingin menjalankan mongod di latar belakang sebagai hal yang selalu ada. apa jalan terbaik melakukan ini? Seperti cara saya menjalankan MySQL saat startup dan hanya berjalan di latar belakang saja. Mungkin ini hanya beberapa skrip bash, tetapi akan menyenangkan untuk mendengar jika ada cara yang lebih baik. Jika hanya bash - seperti apa itu? Terima kasih.
mac-osx
unix
background-process
mongodb
Ryan Montgomery
sumber
sumber
npm install pm2 -g
+pm2 start mongod
+pm2 save
adalah cara lintas platform yang bagus untuk menjaga proses latar belakang berjalan di seluruh sesi.Jawaban:
Daemon MongoDB (mongod) memiliki opsi baris perintah untuk menjalankan server di latar belakang ...
Opsi baris perintah ini mengharuskan Anda juga menentukan file untuk mencatat pesan (karena tidak dapat menggunakan konsol saat ini). Contoh dari perintah ini terlihat seperti:
Anda bisa memasukkan ini ke file script /etc/init.d/mongod. Dan kemudian untuk menjalankan layanan saat startup, buat tautan simbolik standar (S ## & K ##) di dalam /etc/rc#.d/. Berikut ini adalah tutorial yang menjelaskan proses ini secara lebih rinci. Gulir ke bawah ke bagian berjudul "Aktivasi Skrip Init". Ini juga memiliki manfaat tambahan untuk dapat menjalankan perintah seperti ...
sumber
--syslog
yang semuanya hanya ditulis ke log sistem.Karena Anda menggunakan Mac, Anda harus menggunakan Homebrew untuk menginstal MongoDB (Anda harus menginstal Homebrew jika belum):
Katakanlah versi yang diinstal dinamai
2.0.6-x86_64
. Kemudian tambahkan file plist LaunchAgent yang dihasilkannya untuk Anda:Ini akan diluncurkan
mongod
di latar belakang sekarang dan setiap kali Anda me-restart komputer Anda.sumber
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/3.2.10/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
coba jalankan perintah berikut:
sumber
Secara klasik, untuk menjalankan di latar belakang, mulailah dengan
nohup some_command -untuk meluncurkan &
Jadi itu nohup &, letakkan perintah yang ingin Anda jalankan di latar belakang antara nohup dan &. Ini akan berjalan saat Anda, itu akan terus berjalan setelah Anda menutup terminal atau keluar. Anda bisa memulainya sebagai pengguna lain melalui sudo. Untuk membuatnya berjalan saat start, tambahkan ke pengganti skrip init (tidak tahu apa sebutannya). Ini akan menulis output apa pun ke file tempat Anda memulainya bernama nohup.out
sumber
Cara terbaik untuk menjalankan program saat startup pada OS X adalah membuat LaunchDaemon (lihat dokumen Apple , dan lihat beberapa daemon yang disediakan oleh Apple di / System / Library / LaunchDaemons) dan instal di / Library / LaunchDemon. Lingon dapat membantu Anda membuat file .plist.
sumber