代码之家  ›  专栏  ›  技术社区  ›  Tono Nam

将控制台/终端添加到我的服务应用程序以运行自定义命令

  •  0
  • Tono Nam  · 技术社区  · 5 年前

    请随意更改这个问题的标题一旦你读了这个问题你就会明白我的意思了。

    有很多关于如何在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 . 我只是想确保我不会采取长期的方法。

    0 回复  |  直到 5 年前