按照交通银行提供的无界面启动方法试验了很多次,都没有成功,所以自己动手用C# 知识写了一个。

小工具可以判断 交通银行 JAVA SOCKET 服务是否启动,并可以启动/关闭服务

主要代码如下:

判断服务是否启动

引用 :using System.Management;

SelectQuery selectQuery = new SelectQuery(“select * from Win32_Process where Name = ‘java.exe’”);

object cmdLine = string.Empty;

using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery))

{

foreach (ManagementObject process in searcher.Get())

{

cmdLine = process.Properties["CommandLine"].Value;

if (cmdLine != null)

{

if (cmdLine.ToString().IndexOf(this.txtSocketPath.Text.Trim()) != -1)//当前服务已经启动了

{

this.btnStartService.Enabled = false;

this.btnKill.Enabled = true;

lblServerStatus.Text = “服务已经启动“;

continue;

}

}

}

}

启动服务

Process myProcess = new Process();

myProcess.StartInfo.FileName = string.IsNullOrEmpty(this.txtJavaPath.Text.Trim()) ?“java” : this.txtJavaPath.Text.Trim();

myProcess.StartInfo.Arguments = string.Format(“-jar {0} {1} {2} {3}”,this.txtSocketPath.Text.Trim(), this.txtSocketPort.Text.Trim(),this.txtConfigPath.Text.Trim(), this.txtLogPath.Text.Trim());

myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

myProcess.Start();

this.btnStartService.Enabled = false;

lblServerStatus.Text = “服务已经启动“;

this.btnKill.Enabled = true;

关闭服务

foreach (System.Diagnostics.Process thisproc inSystem.Diagnostics.Process.GetProcesses())

{

if (thisproc.ProcessName.ToUpper().Equals(“JAVA”))

{

thisproc.Kill();

}

}

this.btnStartService.Enabled = true;

this.btnKill.Enabled = false;

lblServerStatus.Text = “服务未启动“;

运行界面

原创,转载请注明:原地址:http://www.cnblogs.com/xt_hjl/p/3864120.html

技术支持:好搜 http://www.haosearch.com/

交通银行 Java Socket 服务启动 管理 WINDOWS 版的更多相关文章

  1. 应用程序启动管理 Winform版

    ★前言      开发这个小工具的想法主要是机器中安装了数据库,每次设置开机启动数据库服务的话,则系统启动很慢,每次都得手动到服务管理器中停止服务,很是繁琐,相信不少做开发的朋友会遇到同样的问题,就有 ...

  2. Java Socket 服务端发送数据 客户端接收数据

    服务端: package com.thinkgem.wlw.modules.api.test.socket; /** * @Author: zhouhe * @Date: 2019/4/8 9:30 ...

  3. logstash windows下添加服务启动管理

    nssm下载链接:http://nssm.cc/release/nssm-2.24.zip

  4. mycat服务启动{管理模块启动过程}

    mycat启动的时候启动了三个模块 1:NIOConnector(负责链接mysql数据库,连接池以数据库为准不以链接字符串为准), 1:NIOAcceptor,ManagerConnectionFa ...

  5. Java web 服务启动时Xss溢出异常处理笔记

    本文来自网易云社区 作者:王飞 错误日志 错误日志要仔细看,第一行不一定就是关键点,这个错误出现的时候,比较靠后,其中关键行就是下面这句. Caused by: java.lang.IllegalSt ...

  6. java socket 服务端 客户端

    Server package com.witwicky.socket.basicsocket; import java.io.IOException; import java.io.InputStre ...

  7. SpringBoot集成Socket服务后打包(war包)启动时如何启动Socket服务(web应用外部tomcat启动)

      1.首先知道SpringBoot打包为jar和war包是不一样的(只讨论SpringBoot环境下web应用打包)     1.1.jar和war包的打开方式不一样,虽然都依赖java环境,但是j ...

  8. 玩转Windows服务系列——命令行管理Windows服务

    说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命 ...

  9. 玩转Windows服务系列——命令行管理Windows服务

    原文:玩转Windows服务系列——命令行管理Windows服务 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令, ...

随机推荐

  1. Android TextUtils类介绍

    对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下: ...

  2. 使用 ContentProviderOperation 来提升性能

    ContentProviders  是android 系统核心组件之一,ContentProviders 封装了数据的访问接口,其底层数据一般都是保存在数据库中或者保存在云端. 有时候你需要更新多行数 ...

  3. SVN的文件夹链接(目录链接,目录映射,svn:externals)

    首先大家可以看下SVN的文件夹链接太强大了!(目录链接,目录映射,svn:externals),我就是看了这篇文章才敢大刀阔斧的把项目里的外链修改成正确的链接. 问题: 我们的项目里,服务器脚本工程s ...

  4. SIP:用Riverbank的SIP创建C++库的Python模块

    我们发现PyQt做的Python版的PyQt是如此好用,如果想把自己的C++库包装成Python模块该如何实现呢? 这里介绍下用SIP包装C++库时值得参考的功能实现: 需要Python模块中实现C+ ...

  5. c++中的&

    变量的前面表示取变量地址赋值给指针, 如:int a = 0; int *pa = &a;类型后面表示引用,引用即变量的替身. int a = 0; int &ref = a;操作re ...

  6. Xcode7.x中安装Alcatraz

    将Xcode升级了,发现Alcatraz失效了: xcode7.x安装插件命令:curl -fsSL https://raw.github.com/supermarin/Alcatraz/master ...

  7. Linux64位服务器编译安装MySQL5.6(CentOS6.4)

    首先到MySQL官网下载MySQL最新版(目前是mysql-5.6.12)上传到服务器上,下面说一下详细的安装过程. 安装依赖包,可以在线更新也可以配置本地源(CentOS本地源配置)yum -y i ...

  8. DataGridView中添加CheckBox列用于选择行

    DataGridView中添加CheckBox列用于选择行 1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",如下图: 2,取消 ...

  9. 初探Stage3D(一) 3D渲染基础原理

    关于本文 本文主要想介绍一下3D渲染的基本流程,及怎样把一个三角形(0,1,0),(1,0,1),(0,0,1)最终渲染到屏幕上来.文章的目的是对3D渲染流程做一个简单的介绍,其中不涉及任何语言的AP ...

  10. VS2010+Selenium测试脚本设计

    VS2010+Selenium测试脚本设计 http://www.docin.com/p-755903506.html