启动时运行的这个 Mono 进程是什么?

启动时运行的这个 Mono 进程是什么?

我正在运行 Lubuntu 14.04。我对启动时运行的以下 Mono 进程有点担心,尽管它似乎处于非活动状态。用于启动此进程的命令是:

/usr/bin/mono /usr/lib/mono/4.5/xsp4.exe --port 8084 --address 0.0.0.0 --appconfigdir /etc/xsp4 --nonstop

并由 开始www-data

我以前从未见过 Mono 进程在启动时运行,我想不出它运行的原因。我的启动服务中似乎也没有任何东西。以下是 的输出initctl list

http://pastebin.com/ttqKGPUH

这个过程是怎样的?是否需要担心?

答案1

正如指出的那样托马斯的答案,停止或禁用此服务器很容易,但您可能需要考虑是否真的希望它运行。我在自己的 Kubuntu 18.04 LTS 机器上研究这个完全相同的问题时发现了这个问题,这帮助我更深入地了解了它到底是什么。事实证明,它用于为 提供服务,因为我能够通过探索在和monodoc-http中找到的文件内容来确定。/etc/xsp4/usr/share/monodoc/web

如果您安装了 MonoDevelop 或 MonoDoc 或任何与在 Mono 中开发代码相关的程序,那么它就是从那里来的。如果您是故意这样做的,因为您正在学习或使用 Mono 编码,那么您可能真的希望运行该服务。如果您不需要 MonoDoc 服务,您可以使用 轻松在 Ubuntu 版本(以及使用 systemd 的其他发行版)上禁用它们systemctl

  • sudo systemctl stop mono-xsp4.service将停止服务
    (但不会禁用它,因此将要下次重启后再次运行)
  • sudo systemctl disable mono-xsp4.service将禁用服务
    (但如果它正在运行,则不会停止它)

你需要运行两个都如果你希望立即停止该服务,请输入命令禁用该服务,以便下次重启后它不再运行。如果您确定 MonoDoc 和相关服务根本不需要,您也可以在包管理器中搜索它们并完全卸载它们。

答案2

附带mono-xsp4一个 SysV 初始化脚本/etc/init.d/mono-xsp4

要禁用自动启动,请运行以下命令。

update-rc.d mono-xsp4 disable 

答案3

温馨提醒:两者都不 sudo update-rc.d mono-xsp4 disable或者甚至答案中列出的systemctl stop和命令也会disable彻底禁用这个荒谬的服务/进程的运行无需重启。 <==只是提前提醒一下。

为了确保万无一失,我从轨道上发射了核弹;

sudo update-rc.d mono-xsp4 disable && sudo systemctl status mono-xsp4.service && sudo systemctl stop mono-xsp4.service && sudo systemctl disable mono-xsp4.service

如上所述,此时进程仍在运行(!) - 使用(sudo)检查状态htop如果它仍然存在(在我的情况下它曾经存在),按 F3 并搜索xsp4mono,使用 F9 终止该进程并在 xsp4 命令突出显示时选择9 (SIGKILL)15 (SIGTERM)

或者,直接采用一揽子解决方案:

sudo killall mono && sudo killall xsp4

你也可以sudo apt purge mono-xsp4,但是这也将卸载所有的 Mono 库和框架。大多数情况下这并不是您想要的解决方案。

如果你担心禁用后该进程似乎不再存在,您可以随时查看/etc/init.d/mono-xsp4文件内容,甚至可以将其从系统完全清除。修改文件时要小心但是,但是;正如其他回复中所提到的,您最终可能会破坏 Mono 的一些开发人员功能等等。

我同意另一位评论者的观点,他认为该服务绝对应该是按需运行的,而不是在启动时运行的,但说实话,我也不太确定运行这类服务是否是一种好的做法,尤其是当你在例行 LAN 安全扫描期间偶然发现它时。许多与 Mono 相关的程序可能在其依赖项中都有这个,但在我看来,默认将其设置为自动启动“有点”不好。(我本来想将此作为回复进行评论,但我的声誉点数不够)。:|

相关内容