1、asp.net core控制台程序
static void Main(string[] args) { int times=10; while(times>=0) { Console.WriteLine("Hello World!"); times--; Thread.Sleep(1000); } }
2、发布
发布前,修改test2.csproj文件(项目名称为test2)
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.1</TargetFramework> <RuntimeIdentifier>centos.7-x64</RuntimeIdentifier> </PropertyGroup> </Project>
主要添加 <RuntimeIdentifier>centos.7-x64</RuntimeIdentifier> 这句(如果把centos.7-x64改为win10-x64,则发布为exe程序,运行在windows上。)。
使用命令“dotnet publish”发布在test2inDebug etcoreapp2.1centos.7-x64目录下,如下图:
把所有文件上传到linux服务器(我的linux上放代码目录为/var/wwwroot/netconsole)
切到publish下(即/var/wwwroot/netconsole/publish),输入命令“dotnet test2.dll”,如下图:
3、创建服务
新建自定义服务:vim /etc/systemd/system/mydotnetconsole.service,服务代码内容如下:
[Unit] Description=dotnet console demo running on linux [Service] WorkingDirectory=/var/wwwroot/netconsole ExecStart=/usr/bin/dotnet /var/wwwroot/netconsole/test2.dll Restart=always RestartSec= 10 SyslogIdentifier=dotnet core console User=root Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
启动服务 systemctl start mydotnetconsole.service
查看 systemctl status netconsole -l 如下图: