Демонизировать процесс в Linux bashLinux

Ответить
Anonymous
 Демонизировать процесс в Linux bash

Сообщение Anonymous »


Каков наиболее удобный способ взаимодействия с библиотекой Rust, которой необходимо отслеживать какое-то внутреннее состояние в фоновом режиме?

Например, у меня есть следующая программа:

use tokio::io::AsyncBufReadExt; #[токио::main] асинхронный fn main() { пусть состояние mut = 0; let mut reader = tokio::io::BufReader::new(tokio::io::stdin()); петля { пусть mutuffer = Vec::new(); reader.read_until(b'\n', &mutuffer).await.unwrap(); let cmd = std::str::from_utf8(&buffer).unwrap(); совпадение cmd { "get-count\n" => { println!("{}", состояние); состояние += 1; } _ => { } } } } с которым я могу взаимодействовать с помощью Linux bash следующим образом:

грузовой пробег получить подсчет 0 получить подсчет 1 другая команда получить подсчет 2 Однако это создает процесс блокировки, и мне нужно использовать входные данные других команд bash при взаимодействии с библиотекой.

Моя цель — запустить это как демонический процесс таким образом, чтобы я мог взаимодействовать с ним следующим образом, используя bash:

>> ./start-service >> ./service-cli get-count 0 >> ./service-cli get-count 1 >> COUNT=$(./service-cli get-count) >> эхо $COUNT 2 Как лучше всего это сделать при использовании Linux? Есть ли примеры того, как сделать что-то подобное с помощью systemd?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»