Добавьте консоль / терминал в мое сервисное приложение для запуска пользовательских команд - PullRequest
0 голосов
/ 05 февраля 2020

Пожалуйста, не стесняйтесь менять название этого вопроса, как только вы прочитаете этот вопрос, вы поймете, что я имею в виду.

Существует множество примеров того, как создать приложение службы на Linux, например этот .

Я написал программу на c# с использованием . Net Core и превратил ее в Linux службу, которая работает в фоновом режиме ,

В любом случае, мой вопрос - как я могу подключиться к этой фоновой программе, используя консольный подход. Взять, к примеру, MongoDB . Если я установлю mongodb на свой компьютер sudo apt-get install mongodb, то в фоновом режиме будет запущена служба:

root@ip-172-31-75-238:~# service mongodb status
● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-02-01 16:56:32 UTC; 3 days ago
     Docs: man:mongod(1)
   Main PID: 488 (mongod)
   CGroup: /system.slice/mongodb.service
       └─488 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf --auth

Если я хочу отправить команды на mongodb.service, мне просто нужно набрать команду mongo на терминале, и тогда я буду в консольной среде.

root@ip-172-31-75-238:~# mongo
MongoDB shell version: 3.2.11
connecting to: test
... mongo es ready expecting a command to execute.

Итак, мой вопрос: как я могу создать такое же поведение? Я хочу создать службу, работающую в фоновом режиме, которая также может работать как консольное приложение.


Подход, который я собираюсь предпринять:

Я планирую создать отдельное консольное приложение, которое отправит информацию службе, используя Межпроцессное взаимодействие . Я просто хочу убедиться, что я не буду долго подходить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...