Windows服务移植到linux

Poo*_*rna 5 linux windows porting

我正在移植一个在启动时在 Windows 中作为后台服务运行的应用程序,我们正在将该应用程序移植到 linux(SUSE Enterprise 服务器),我对 Linux 完全陌生。有人可以帮我解决这个问题吗?喜欢

  1. 我应该构建 linux 可执行文件吗
  2. 构建二进制文件后,我应该对 linux 启动文件进行哪些更改才能运行此可执行文件
  3. 我的服务如何注册回调函数以在运行时修改或更改或向我的服务发送命令

Yan*_*min 3

  1. 是的,您应该构建一个 Linux 二进制文件。您可能想重新表述您的问题,因为我怀疑这就是您想要的答案:-)
  2. 通常,您应该创建所谓的“init”文件,该文件位于 /etc/init.d 中。Novell 有一个在线指南,您可以使用它来创作该文件。请注意,虽然 init 文件很常见,但让操作系统使用它的确切方法因发行版而异。
  3. 这对你来说将是一个显着的变化。如果您正在执行简单的操作,例如重新加载配置文件,则可以使用信号功能,尤其是通常用于此目的的 SIGHUP/HUP 信号。如果需要与守护程序进行扩展通信,可以使用 UNIX 域套接字(将其视为命名管道)或网络套接字。

您需要完成的另一项任务是守护您的应用程序。通常,这是通过首先 fork() 进程,然后重定向子进程中的 stdin/stdout 管道来完成的。还有更多详细信息可以通过阅读此文档来解答