/etc/systemd/system
saya map:
[Unit]
Description=WSO2 IoT Message broker
[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-8-oracle"
Type=forking
ExecStart=/home/ubuntu/wso2iot-3.1.0/bin/broker.sh
[Install]
WantedBy=multi-user.target
Saya ingin menjalankan salah satu kekacauan dari WSO2 IoT Server, tetapi itu tidak masalah.
Ketika saya meluncurkan bash
. ini skrip secara manual, memuat untuk waktu yang lama dan tetap dalam mode peluncuran, karena menjalankan sesuatu seperti aplikasi server web yang kemudian mengambil port tertentu.
Ketika saya meluncurkan layanan ini seperti ini:
sudo systemctl start myservice.service
Butuh waktu lama dan kemudian mengatakan:Start operation timed out. Terminating.
Saya perlu membuat layanan ini diluncurkan selamanya sampai saya menghentikannya secara manual.
Apa yang saya lewatkan dalam file konfigurasi layanan saya?
Jawaban yang Diterima:
Setel Type
skrip layanan Anda menjadi simple
atau oneshot
. Tergantung pada perilaku skrip shell yang dimulai.
- jika skrip shell menjalankan loop tanpa akhir dan tidak keluar, setel
Type
untuksimple
- jika tidak, atur
Type
keoneshot
Setelah Anda membuat perubahan, muat ulang konfigurasi dengan systemctl daemon-reload
dan mulai layanan Anda.