Apakah ada cara untuk mengirim perintah ke proses yang disaring?

1

Saya memiliki proses, yang secara otomatis memulai dengan server menggunakan perintah ini -

screen -dmSL myserver sudo bash /myserver/start

Saya dapat menghentikan proses jika saya terhubung ke layar dengan screen -x myserverdan masukkan stopperintah.

Sekarang, katakan saya memiliki skrip /myserver/stop, bagaimana cara kerjanya? Itu tidak akan berfungsi dengan konten berikut:

screen -x myserver
stop
BestMordaEver
sumber

Jawaban:

1

Setelah sedikit bereksperimen inilah jawaban yang saya temukan. Ini adalah perintah yang akan saya gunakan:

screen -p 0 -S myserver -X eval "stuff stop\015"

Sekarang poin demi poin:

-S mengatakan untuk terhubung ke sesi layar myserver

-p menentukan pesan yang masuk ke jendela 0 di seession

-X adalah argumen yang memungkinkan Anda untuk mengirim perintah ke sesi layar tanpa memasukkannya sendiri

eval memberitahu untuk mencetak "berhenti" dan baris baru ke stdin aplikasi

BestMordaEver
sumber