用个工具:NSSM 下载:最新的那个pre版本 http://www.nssm.cc/download

测试.netcore 的一个控制台程序(Console),仅仅用来定时写入一些日志, 代码如下:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System; namespace TestConsoleService
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
CreateHostBuilder(args).Build().Run();
} public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<DataService>();
});
//.UseWindowsService();
}
}

  

:

DataService 是一个后台服务性质的类,用来记录日志到文件,继承至BackgroundService,
代码如下:
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace TestConsoleService
{
public class DataService : BackgroundService
{
private static string _logFile =Path.Combine( Directory.GetCurrentDirectory() ,"Log.txt");
private static long i = 0;
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
// Do some work
try
{
Timer timer = new Timer(RunWork,null,1,2000);
Console.CancelKeyPress += Console_CancelKeyPress;
}
catch (Exception ex)
{
Log("Error :" + ex.Message);
}
} private void Console_CancelKeyPress(object sender, ConsoleCancelEventArgs e)
{
Console.WriteLine("are you exit?");
e.Cancel=true;
} private static void RunWork(object o) {
i++;
Log(""+DateTime.Now+ " " + i+"\r\n");
Console.WriteLine("" + DateTime.Now + " " + i); } private static void Log(string s) {
try
{
File.AppendAllText(_logFile, s);
}
catch { } } } }

  

然后将 nssm.exe 拷贝到项目bin目录,输入命令

nssm.exe install TestConsoleService

会弹出一个UI配置界面,console的exe路径选择填进去OK。

在任务管理器服务选项卡里救恩能够看到创建的 TestConsoleService 服务。

参考文档命令:

NSSM - the Non-Sucking Service Manager

Managing services from the command line

nssm's core functionality has always been available from the command line.

Service installation

nssm install <servicename>
nssm install <servicename> <program>
nssm install <servicename> <program> [<arguments>]

By default the service's startup directory will be set to the directory containing the program. The startup directory can be overridden after the service has been installed.

nssm set <servicename> AppDirectory <path>

Service removal

nssm remove
nssm remove <servicename>
nssm remove <servicename> confirm

Service management

As of version 2.22, nssm offers basic service management functionality. nssm will also accept a service displayname anywhere that a servicename is expected, since Windows does not allow a service to have a name or display name which conflicts with either the name or display name of another service. Both the service name (also called the service key name) and its display name uniquely identify a service.

Starting and stopping a service

nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>

Querying a service's status

nssm status <servicename>

Sending controls to services

nssm pause <servicename>
nssm continue <servicename>
nssm rotate <servicename>

另外一篇图文参考:https://www.cnblogs.com/emrys5/p/nssm-netcore.html

把.netcore console 安装到Windows 系统服务。的更多相关文章

  1. Windows Server 2008 R2下将nginx安装成windows系统服务

    一直在Linux平台上部署web服务,但是最近的一个项目,必须要用windows,不得已再次研究了nginx在windows下的表现,因为Apache httpd在Windows下表现其实也不算太好, ...

  2. Windows Server 2008 R2下将JBoss安装成windows系统服务

    JBoss版本是jboss-4.2.3.GA-jdk6.zip,操作系统是Windows Server 2008 R2. 1.系统已安装好java环境,JAVA_HOME已配置好: 2.下载所需文件. ...

  3. MongoDB安装,启动,注册为windows系统服务

    MongoDB安装与启动 周建旭 2014-08-10 解压完后配置环境变量 下载Windows 32-bit或64-bit版本并解压缩,程序文件都在bin目录中,其它两个目录分别是C++调用是的头文 ...

  4. 使用srvany.exe将程序安装成windows服务的详细教程

    srvany.exe介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srva ...

  5. 使用srvany.exe把程序安装成windows服务

    srvany.exe介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srva ...

  6. 将Tomcat加入windows系统服务

    将Tomcat加入windows系统服务 将Tomcat加入服务 1.修改bin目录中的service.bat: REM 添加下面的一行 set CATALINA_HOME=%cd% 如果从来没有安装 ...

  7. 使用srvany.exe把程序安装成windows服务的方法

    http://mazhihui.iteye.com/blog/1294431 srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的 ...

  8. MongoDB安装为Windows服务方法与注意事项

    MongoDB作为一个基于分布式文件存储的数据库,近两年大受追捧.数据灵活的存取方式和高效的处理使得它广泛用于互联网应用. 最近本人开始在Windows 32位平台下研究MongoDB的使用,为了方便 ...

  9. mysql 8.0.11 安装(windows)

    mysql本地安装(windows) 一.安装包下载 从官网下载安装包,地址:https://dev.mysql.com/downloads/mysql/ 二.配置 解压到本地,然后在目录下新建my. ...

  10. ElasticSearch安装为Windows服务

    目前我都是在windows的环境下操作是Elasticsearch,并且喜欢使用命令行 启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch 这样直接启动的话集 ...

随机推荐

  1. 对背包dp的再探究:以 采药 和 疯狂的采药 为例

    题目链接: 01背包:采药 完全背包:疯狂的采药 关于 "总体积刚好是 V " 和 "总体积 \(\le\) V " 正常的背包推导的都是 "总体积刚 ...

  2. AlignSum:数据金字塔与层级微调,提升文本摘要模型性能 | EMNLP'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: AlignSum: Data Pyramid Hierarchical Fine-tuning for Aligning with Human ...

  3. nemu-wsl-环境配置

    实在是不愿意用学校的虚拟平台,觉得在自己的电脑上留存一部分真的很有意思,也想捣鼓一下,于是在自己电脑上配置下最基本的环境,做下记录 准备好wsl 因为要求环境是 Ubuntu 18.04 和 gcc- ...

  4. vue $forceUpdate()强制刷新

    改变列表的值 一直不渲染 <van-pull-refresh v-model="refreshing" @refresh="onRefresh"> ...

  5. python SQLAlchemy 查询慢sql

    1.config文件添加如下配置 FLASKY_DB_QUERY_TIMEOUT = 0.1 # 设置sql执行超时时间 0.1s SQLALCHEMY_RECORD_QUERIES = True # ...

  6. WiFi流量劫持—— 浏览任意页面即可中毒!

    大家都知道公共场所的Wifi安全性很差,但并不清楚究竟有多差.大多以为只要不上QQ.不登陆网站账号就没事了,看看新闻小说什么的应该毫无关系. 的确如此,看看新闻网页没有涉及任何敏感的账号信息.即便是数 ...

  7. golang之协程+chan通道

    [管道] 分为 有缓冲和无缓冲两种 无缓冲的与有缓冲channel有着重大差别,那就是一个是同步的 一个是非同步的. 比如: c1:=make(chan int) 无缓冲 c2:=make(chan ...

  8. PHP扩展之Yaconf

    这个是继鸟哥出品的yaf,yar 之后的又一个好用的工具.  Yaconf配置管理工具 具体可以看鸟哥的文档: https://www.laruence.com/2015/06/12/3051.htm ...

  9. Python3之常用包汇总

    Python包网站: https://pypi.org/ 1. 繁体与简体转换(https://github.com/berniey/hanziconv.git) pip install hanzic ...

  10. RHCL8无法使用yum install的解决方法

    ​报错如下: Updating Subscription Management repositories. Unable to read consumer identity This system i ...