在Ubuntu服务器上自动启动C#Mono应用程序

我有一个用C#编写的TCP服务器,我将在我的服务器上运行。 我testing了运行在服务器和客户端上的应用程序,这一切都很好! 我在我的Linux服务器上使用mono来运行Server.exe应用程序。 我一直在尝试使用Upstart和Shell脚本来让Server.exe应用程序在启动时在后台运行。 这些都没有工作。

这是我尝试的Shell脚本:

#!/ bin / sh的

/ usr / bin / mono Server.exe“$ @”&

然后,我编辑了/ etc目录中的rc.local文件,并添加了这一行:

/usr/local/bin/ClipCloud/start.sh & 

我在这里错过了什么,因为我似乎无法得到它的工作。 它似乎开始,然后立即终止该过程。 当我通过键入从terminal启动Server.exe应用程序

 mono /usr/local/bin/ClipCloud/Server.exe 

它工作正常,并将继续运行,直到我closuresterminal窗口或键入“退出”

我会很乐意分享我能提供的任何帮助。

我也有这个问题。 我现在可以启动运行我的单声道C#应用程序的帮助: http : //www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html

在文件的“开始”部分(如上面的链接中指定),执行以下操作:1.将目录切换到c#应用程序的文件夹:cd / home / pi / myApp 2.在下一行中,添加完整path“单声道”和你的C#应用​​程序的完整path。 例如:/ usr / bin / mono /home/pi/myApp/myApp.exe

在“停止”部分,我不知道如何停止确切的“myApp.exe”; 但我停止了“单声道”命令:

killall单声道

(实际上,myApp.exe …但如果你正在运行多个C#应用程序..请testing它。)

笔记

  1. 确保你的C#应用​​程序不要求用户input…否则将挂起
  2. 不要忘记运行sudo update-rc.d NameOfYourScript默认值:)
  3. 在重新启动计算机之前,通过运行“开始”和“停止”命令(如上面指定的链接中指定的)来testing脚本。
  4. 脚本中的所有注释行都是必须的。 否则,您将无法将其添加到启动列表中。

祝一切顺利! 🙂