在 Centos 上运行基于 mono 的应用程序

在 Centos 上运行基于 mono 的应用程序

我对 Linux 还很陌生,目前正在将服务器从 Windows 切换到 Centos 6.3。我编写了一个小型 UDP 服务器。UDP 服务器是用 C# 编写的,现在我采用它通过 Mono 与 Linux 配合使用。当我以这种方式运行它时,它运行良好:

/opt/mono/bin/mono /root/MySoft/UDPServer.exe "$@"

如何在计算机统计时自动运行它?(Windows 术语:Windows 服务)

我尝试创建一个启动器文​​件并将其放入/etc/init.d,但没有成功

答案1

对于此类问题,我的解决方案是安装并使用supervisord。

Supervisord 是一个 Python 进程管理器,可从发行版的软件包存储库轻松安装,配置也非常简单。只需为可执行文件添加一个简单的配置文件,管理器就会负责启动它、捕获输出,以及(可选)在进程失败时重新启动它。

示例配置如下:

[program:udp_server]
user = <username>
command = /opt/mono/bin/mono /root/MySoft/UDPServer.exe "$@"
stdout_logfile = /var/log/udp_server-stdout.log
stdout_logfile_maxbytes = 10MB
stdout_logfile_backups = 5
stderr_logfile = /var/log/udp_server-stderr.log
stderr_logfile_maxbytes = 10MB
stderr_logfile_backups = 5

答案2

此外,这个解决方案也有效:

我添加了一行文字/opt/mono/bin/mono /root/MySoft/UDPServer.exe "$@" &/etc/rc.d/rc.local

相关内容