项目中有一个java应用程序,交付后用户要求要把这个程序做成后台服务程序,即:系统启动后该程序可以自动启动,并且在前台不要出现运行窗口,维护人员只要在“服务管理”(Windows)中选择启动或停止即可。
解决办法如下:
Linux
在Linux中注册后台服务程序相对容易,只需编辑/etc/init.d/boot.local文件,在boot.local文件里加上下面这句脚本:
/iapappserver/MessageServer2.1/run.sh
其中run.sh是java应用的运行脚本
Windows
在Windows下的情况较为复杂,需要使用Windows提供的两个工具:instsrv.exe和srvany.exe (下载)
instsrv: 这个工具是把win32程序变成系统服务。
基本用法:
instsrv [服务名] [应用程序绝对路径] (增加服务) (图形的srvinstw.exe)
instsrv [服务名] REMOVE (删除服务)
但是并不是所有程序都适合做系统服务的,注册成系统服务后就是无法启动的,这时就需要用到srvany。
srvany: 这个工具就是用来解决上面的工具中的问题,你注册的时候把它当作你要的服务,在用它来启动你的应用程序。
基本用法:
instsrv [服务名] [srvany的绝对路径]
具体步骤如下:
1. 注册服务: path\instsrv 服务名 path\srvany.exe
2. regedit打开注册表
3. 进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名
4. 右键-新建-项 填入 Parameters
5. 打开Parameters,右键-新建-字符串值 Application
6. 双击Application 填入 应用程序的绝对路径,如: D:\workspace\app\main.exe
7. 右键-新建-字符串值AppDirectory
8. 双击AppDirectory 填入 应用程序的工作目录,如: D:\workspace\app\
9. 启动服务。
在Parameters里还可以添加很多键值:
AppDirectory 工作目录
AppParameters 你的应用程序的参数。
AppEnvironment 运行环境变量。
相关推荐
将Java应用注册为后台服务,是一项关键的技术操作,旨在使Java应用程序能够在系统后台持续运行,即使用户退出了应用程序界面,也能保持其功能的连续性和稳定性。这一技术在多个场景下都至关重要,比如在构建服务器端...
标题中的“window应用程序转后台服务工具Srvany”是指Windows操作系统中的一种实用工具,它允许我们将任何可执行的Windows应用程序转换为系统服务运行。在Windows环境中,服务是一种可以在用户界面未打开时持续运行...
注册为服务后,该应用程序将作为后台服务运行,不受用户登录状态的影响。同时,服务通常具有更多的权限,可以访问系统资源,这使得某些需要持续运行或者需要高权限的应用程序更适合以服务的形式运行。 服务的管理也...
总结,将Java程序运行为后台服务涉及多个层面,包括守护线程的使用、命令行参数处理、系统属性设置、脚本编写、服务注册以及异常和日志管理。通过学习和实践"test-deamon"项目,你将更好地理解和掌握这一过程。
3. 使用前台服务(Foreground Service):通过显示通知将服务提升为前台级别,这样服务会被视为用户当前正在使用的应用,从而降低被系统杀死的概率。 4. 定时任务(AlarmManager):设置定时任务,定期检查服务是否...
VB后台服务工具是一种基于Visual Basic (VB) 开发的应用程序,它利用NTSVC.ocx控件来实现将其他程序或服务注册为Windows系统服务的功能。这种工具在IT管理领域中有着广泛的应用,特别是对于那些需要在操作系统启动时...
在Windows操作系统中,有时我们需要将一个应用程序注册为服务以便它能在后台自动运行,即使没有用户登录也能持续工作。"注册你的应用程序为服务工具"是指利用特定的工具来实现这一目标,这里主要涉及到两个实用程序...
这个工具的主要功能是将普通的应用程序转换为Windows服务,以便它们可以在后台运行,不受用户登录或注销的影响,同时还可以实现开机自启动。 nssm2.24支持32位和64位Windows系统,这意味着你可以根据你的操作系统...
注册应用为系统服务或守护进程,随系统自动启动 支持控制台菜单控制安装、卸载、启动、停止,以及查看状态 支持控制台调试应用,解决Windows服务难以调试的问题 支持健康检测,限制内存、线程数、句柄数,超限时重启...
下面我们将深入探讨Android后台服务定位的相关知识点。 一、Android服务基础 1. 创建Service:通过继承`Service`类并重写其生命周期方法,如`onCreate()`, `onStartCommand()`, `onDestroy()`等,来创建一个自定义...
将EXE程序注册为Windows服务是一个相对简单但实用的过程,可以让应用程序在系统启动时自动运行,或者在后台持续运行而不会受到用户是否登录的影响。通过上述步骤,你可以轻松地将自己的应用程序转换为Windows服务。...
Java应用程序在Windows操作系统中通常以命令行方式启动,但为了实现更方便的管理和自动化操作,如自动启动、系统服务级别的控制等,可以将Java的jar包注册为Windows服务。这通常涉及一个名为`winsw`的工具,它是一个...
然而,为了使BAT文件在系统启动时自动运行或者作为后台服务,我们需要将其注册为系统服务。下面我们将详细讲解如何实现这一操作。 首先,理解系统服务的概念是必要的。系统服务是在Windows操作系统背景下运行的程序...
注册的脚本可能会涉及跨域问题,特别是在调用Web服务或者API时。因此,确保遵守同源策略,或者正确配置CORS策略是至关重要的。同时,要注意防止XSS(跨站脚本攻击),避免在脚本中直接包含用户输入的数据。 综上所...
在Android系统中,后台服务(Service)是一种可以长时间运行而不与用户交互的组件,它允许开发者在应用程序不处于前台时执行任务。"Android后台服务自启动"是指在特定条件下(如设备启动、接收到特定广播等)自动...
3. **清理广播接收器**:如果应用注册了任何BroadcastReceiver,也应该取消注册,以避免在应用退出后仍然接收不必要的广播事件。 4. **解除内容提供者(ContentProvider)的绑定**:如果应用提供了ContentProvider...
总之,将应用程序注册为服务是一项关键技能,特别是在需要后台运行或者定时执行任务的应用场景下。理解服务的工作原理以及如何通过命令行工具进行管理,将有助于提升你在IT领域的专业素养。请确保在执行这些操作时...
后台服务通常在用户无须交互的情况下持续运行,为应用程序提供支持。 源码中的“系统后台服务”可能包括以下几个核心知识点: 1. **Windows服务**:这是Windows操作系统中的一种特殊类型的程序,能够在用户登录或...
本文将详细介绍如何在Windows环境下安装RocketMQ,包括单机模式和集群模式,并且讲解如何进行后台服务注册。 **一、RocketMQ简介** RocketMQ源于阿里内部的MQ产品,其设计目标是高吞吐量、低延迟、高可用性和可扩展...
4. **定位服务(Location Services)**:如果应用需要在后台持续获取用户的位置,可以注册为`CLLocationManager`的代理,并设置`allowsBackgroundLocationUpdates`为`true`。这样,即使在后台,应用也能接收到位置...