java - 如何将 java 类作为套接字服务器运行

标签 java service daemon

这对我来说听起来像是一个菜鸟问题,但我需要问它。

所以我编写了一个小型文件服务器应用程序,它通过套接字监听端口 21。它接收字节数组,然后写入文件(通常是jpg文件),在IDE上工作得很好。

我想让它实时运行,在服务器中永久运行,以便远程应用程序可以将字节数组发送到我的服务器应用程序正在监听的端口 21。

物理服务器操作系统是CentOS 6,但我可以设置Ub​​untu和许多Redhat风格的Linux(你知道云服务器)。

那么,我如何编写一个守护进程(可能是一个 shell 脚本)来将该 java 类保留为服务? 说我可以写:

service jMyFileApp {start|stop|restart|status}

我尝试用谷歌搜索,但是,我有点迷失了......我不知道如何向谷歌询问

最佳答案

这是我用来启动和停止 Tomcat 的服务脚本(基本上与您尝试执行的操作相同):

#! /bin/sh
case "$1" in
start)   /usr/local/jakarta/tomcat/bin/startup.sh ;;    
stop)    /usr/local/jakarta/tomcat/bin/shutdown.sh ;;
restart) /bin/sh $0 stop
/bin/sh $0 start ;;
*)   echo "Usage: $0 {start|stop}"
exit 1 ;;
esac

位于/etc/init.d/tomcat下。所以基本上有一些 shell 脚本可以理解如何启动和停止 Tomcat,而服务脚本只是委托(delegate)给这些脚本。

在您的情况下,只需提供一些简单的 shell 脚本来启动/停止您的自定义服务器(这可能是最具挑战性的部分),然后从服务脚本中调用它们(即 vi/etc/init .d/jMyFileApp,复制/粘贴上面的 Tomcat 脚本,根据需要编辑路径以指向您的自定义启动脚本,然后chmod a+rx/etc/init.d/jMyFileApp).

关于java - 如何将 java 类作为套接字服务器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220348/

相关文章:

java - 带有spring的jsp中不显示图像

java - 如何从 .jar 文件加载 PDF?

android - Android主页按钮监听器

rest - 是否可以缓存服务器对服务器 HTTP POST 请求的响应?

python - 使用 Twisted 的守护进程 python 项目

daemon - 如何为 Daemon-kit 项目设置 init.d rc 脚本?

java - 从键码中输入键值

c# - .NET 服务的 user.config 位于何处?

java - Android -- 如何使用 3 个 ImageView 切换 View ?