GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana menjalankan sbt sebagai daemon?

jawaban oleg-andriyanov tidak berhasil dalam kasus saya. (proses keluar segera setelah peluncuran)

Dalam kasus seperti itu, coba perintah Mirko Stocker yang ditulis dalam play ML di bawah sebagai alternatif.https://groups.google.com/forum/#!topic/play-framework/ZgjrPgib0-8

# screen -d -m sbt run

Ini juga harus bekerja

sbt -Djline.terminal=jline.UnsupportedTerminal run &

sumber:https://github.com/sbt/sbt/issues/701


Sepertinya sbt masukan yang diminta dari terminal Anda. Jika tidak terlalu membutuhkan masukan (yang mungkin terjadi saat Anda menjalankan program di latar belakang), Anda dapat menjalankannya seperti ini:

sbt run </dev/null >output-file &

Lihat jawaban ini untuk detailnya.

EDIT

Ok, sekarang itu teka-teki. Jawaban singkat:jalankan sbt sebagai berikut:

setsid nohup sbt run &

Alasan:

Alasan mengapa sbt berhenti adalah kedatangan SIGTTOU sinyal. Ini dikirimkan ke proses latar belakang dalam beberapa kasus, yang meliputi memodifikasi konfigurasi terminal . Ini adalah kasus kami karena menurut strace -f sbt run & , sbt melakukan banyak ilmu hitam di bawah tenda seperti ini:

[pid 16600] execve("/usr/bin/sh", ["sh", "-c", "stty -g < /dev/tty"], [/* 75 vars */] <unfinished ...>

Untuk mengatasinya, Anda dapat menjalankan sbt dalam sesi yang berbeda untuk melepaskannya dari terminal saat ini, sehingga tidak akan membuka /dev/tty dan mengacaukan terminal kita.


Linux
  1. Cara menjalankan chkdsk di Windows

  2. Bagaimana menjalankan proses Rsync di latar belakang

  3. Cara membuat skrip Python berjalan seperti layanan atau daemon di Linux

  1. Bagaimana cara membuat skrip Python dijalankan sebagai layanan?

  2. Jalankan skrip bash sebagai daemon

  3. Bagaimana cara menjalankan linux di PS3?

  1. Linux – Bagaimana Cara Menjalankan Bootloader Dari Linux?

  2. Bagaimana Cara Menghapus Instalasi Sbt?

  3. Bagaimana Menjalankan Skrip??