Hentikan socat dari penghentian ketika ujung lain ditutup

12

Saya ingin mengarahkan input dan output aplikasi ke soket unix dan sambungkan ke soket itu dari sesi lain. Apa yang saya lakukan sejauh ini adalah sebagai berikut:

Di sisi "server":

socat EXEC:"command" UNIX-LISTEN:/tmp/comm

Dan di sisi "klien":

socat UNIX-CONNECT:/tmp/comm -

Ini berfungsi cukup baik, tetapi begitu sisi klien socatberakhir, server juga berakhir. Tapi saya ingin tetap berjalan dan menyambung kembali nanti ... Bagaimana saya mencapainya?

Max Ried
sumber

Jawaban:

12

Anda harus menggunakan forkopsi, yang menangani koneksi dalam proses anak, membuat proses induk berusaha untuk menangani lebih banyak koneksi.

Di terminal pertama:

$ socat - UNIX-LISTEN:/tmp/comm,fork

Di terminal kedua:

$ socat UNIX-CONNECT:/tmp/comm -

Tekan Ctrl+ Cdi terminal kedua, pindah ke terminal pertama dan lihat server Anda masih berjalan.

cuonglm
sumber