Untuk menjalankan satu aplikasi, file batch harus dimulai (yang melakukan hal-hal seperti memulai Jetty, menampilkan log langsung, dll). Aplikasi hanya akan berfungsi jika file batch ini berjalan. Karenanya saya terpaksa menjalankan file batch ini dan tidak logout dari server Windows.
Bisakah file batch ini dijalankan sebagai layanan? Saya bereksperimen dengan salah satu saran dari pertanyaan serupa .
windows
windows-services
batch-file
publicRavi
sumber
sumber
Jawaban:
NSSM benar-benar gratis dan sangat mudah, menjalankan command prompt / terminal sebagai administrator:
maka dialog akan muncul sehingga Anda dapat memilih di mana file yang ingin Anda jalankan.
untuk menghapus
sumber
nssm
semua argumen yang diperlukan pada input untuk menghindari entri data popup - saya mencoba mengotomatiskan proses?Mengapa tidak mengaturnya sebagai Tugas Terjadwal yang dijadwalkan untuk dijalankan saat start up?
sumber
Ada built-in windows cmd untuk melakukan ini: sc create . Tidak semewah nssm, tetapi Anda tidak perlu mengunduh perangkat lunak tambahan.
Catatan
=
sumber
Tidak perlu perangkat lunak tambahan. Gunakan penjadwal tugas -> buat tugas -> disembunyikan. Kotak centang untuk disembunyikan ada di sudut kiri bawah. Tetapkan tugas untuk memicu saat masuk (atau kondisi apa pun yang Anda suka) dan pilih tugas di tab tindakan. Menjalankannya disembunyikan memastikan bahwa tugas berjalan diam-diam di latar belakang seperti layanan.
Perhatikan bahwa Anda juga harus mengatur program untuk menjalankan "apakah pengguna masuk atau tidak" atau program akan tetap berjalan di latar depan.
sumber
Seperti yang dikatakan Doug Currie, gunakan RunAsService.
Dari pengalaman masa lalu saya, Anda harus ingat bahwa Layanan yang Anda hasilkan akan
tidak yakin apakah yang terakhir masih berlaku ... itu adalah malam besar kuda betina dalam proyek yang saya kerjakan beberapa waktu lalu.
sumber
Meskipun tidak gratis (tapi $ 39), FireDaemon telah bekerja dengan baik untuk saya, saya harus merekomendasikannya. Ini akan menjalankan file batch Anda tetapi memiliki banyak fungsi tambahan dan sangat berguna seperti penjadwalan, pemantauan layanan, GUI atau instalasi layanan berbasis XML, dependensi, variabel lingkungan dan manajemen log.
Saya mulai menggunakan FireDaemon untuk meluncurkan server aplikasi JBoss ( run.bat ) tetapi segera setelah menyadari bahwa kekayaan kemampuan konfigurasi FireDaemon memungkinkan saya untuk membuang file batch dan menciptakan kembali maksud dari perintah-perintahnya dalam definisi layanan FireDaemon.
Ada juga FireDaemon SUPER yang disebut Trinity yang mungkin ingin Anda lihat jika Anda memiliki sejumlah besar server Windows untuk mengelola layanan ini (atau secara teknis, layanan apa pun).
sumber
Pada Windows 2019 Server, Anda dapat menjalankan server java Minecraft dengan perintah berikut:
sc buat minecraft-server DisplayName = "minecraft-server" binpath = "cmd.exe /CC:\Users\Administrator\Desktop\rungui1151.lnk" type = own start = auto
File .lnk adalah cara pintas standar windows ke file batch.
--- .bat file dimulai ---
java -Xmx40960M -Xms40960M -d64 -jar minecraft_server.1.15.1.jar
--- .bat file berakhir ---
Semua ini karena:
layanan tidak tahu bagaimana memulainya dalam folder,
cmd.exe tidak tahu cara memulai di folder
Memulai layanan akan menghasilkan kesalahan "tepat waktu", tetapi file log mengungkapkan server sedang berjalan.
Jika Anda perlu mematikan server, masuklah ke task manager dan temukan server java di proses latar belakang dan akhiri, atau hentikan server dari dalam game menggunakan perintah / stop, atau untuk program / server lain, gunakan metode relevan dengan server.
sumber
AlwaysUp akan dengan mudah menjalankan file batch Anda sebagai layanan. Ini mirip dengan FireDaemon (disebutkan di atas) dan tidak gratis, tetapi Anda mungkin menemukan fitur kaya yang ditetapkan sebagai aset di lingkungan profesional.
Semoga berhasil!
sumber