簡體   English   中英

Windows服務移植到linux

[英]Windows service porting to linux

我正在移植一個應用程序,它在啟動時作為windows中的后台服務運行,我們將應用程序移植到linux(SUSE Enterprise服務器),我是一個全新的linux。 有人可以幫我解決這個問題。 喜歡

  1. 我應該構建Linux可執行文件
  2. 在構建二進制文件之后,我應該對linux啟動文件進行哪些更改以運行此可執行文件
  3. 我的服務如何注冊回調函數,以便在服務運行時修改或更改或發送命令

請參閱如何遷移-net-windows-service-application-to-linux-using-mono

在Linux下, deamons是簡單的后台進程。 在Windows中沒有使用特殊的控制方法(例如start()stop() )。 將您的服務構建為一個簡單的(控制台)應用程序,並在后台運行它。 您可以使用daemonize類的工具將程序作為Unix守護程序運行。

  1. 是的,你應該構建一個Linux二進制文件。 您可能想要重新解釋您的問題,因為我懷疑這是您想要的答案:-)
  2. 您通常應該創建所謂的“init”文件,該文件位於/etc/init.d中。 Novell有一個在線指南,您可以使用它來創作該文件。 請注意,雖然init文件很常見,但讓操作系統使用它的確切方法因分發而異。
  3. 這對你來說將是一個顯着的變化。 如果您正在執行簡單操作(例如重新加載配置文件),則可以使用信號功能,尤其是通常用於此目的的SIGHUP / HUP信號。 如果需要與守護程序進行擴展通信,則可以使用UNIX域套接字(將其視為命名管道)或網絡套接字。

您需要完成的另一項任務是守護您的應用程序。 通常,這是通過首先fork()進程,然后重定向子進程中的stdin / stdout管道來完成的。 通過閱讀本文檔可以回答更多細節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM