GNU/Linux >> Belajar Linux >  >> Ubuntu

Layanan Systemctl Habis Saat Mulai?

*.service dan letakkan di /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 untuk simple
  • jika tidak, atur Type ke oneshot

Setelah Anda membuat perubahan, muat ulang konfigurasi dengan systemctl daemon-reload dan mulai layanan Anda.


Ubuntu
  1. Sudo Time Out Selama Skrip Berjalan Lama?

  2. Layanan OS Linux 'scsi_reserve'

  3. Skrip Ruby sebagai layanan

  1. Skrip Node.js gagal dimulai dengan systemctl

  2. status systemctl menunjukkan mati tidak aktif

  3. Boot Ubuntu 16.04 ke baris perintah / jangan mulai GUI

  1. Mulai, Hentikan, atau Mulai Ulang Layanan di CentOS 8 - Proses Langkah demi Langkah?

  2. Waktu Habis Dalam Skrip Shell?

  3. Skrip mulai systemd postgresql