请随意更改这个问题的标题一旦你读了这个问题你就会明白我的意思了。
有很多关于如何在Linux上创建服务应用程序的例子,比如
this one
我用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.
所以我的问题是我怎样才能创造出同样的行为?我想创建一个在后台运行的服务,它也可以作为控制台应用程序运行。
我计划采用的方法:
Inter-process communication
. 我只是想确保我不会采取长期的方法。