控制台程序

windows启动jar包bat文件

ⅰ亾dé卋堺 提交于 2019-12-06 12:33:40
@echo off start java -jar packagename.jar > logname.log exit @echo off start javaw -jar packagename.jar > logname.log exit 相同点:二者都是Java的虚拟机,用来执行Java程序 java.exe和javaw.exe的区别 1、javaw.exe运行程序时不会输出控制台信息 2、java.exe会显示在控制台中输出信息,关闭窗口则程序停止 来源: https://www.cnblogs.com/lazy-sang/p/11983976.html

关于glog使用中遇到的问题

青春壹個敷衍的年華 提交于 2019-12-06 07:51:56
项目中需要打log,当初看到glog,觉得google出品应该差不了,而且简单易用,库不是很大,就选择他了。 但是在使用中还真的发现一些不顺手和库设计上的问题,反正和我的使用习惯有点不一样。 设置log参数时有的用google::xx以函数的形式设置,有的以FLAG_xx的形式设置,而且有一些设置项两种方式都可以,但是源码中又走的不是相互封装的关系,看着有点乱,没理解glog为什么要这么设计,为什么不统一用一种方式。 在使用时我一直以为没有调用google::InitGoogleLogging是不会打印任何log的,直到有用户跟我反映说,他的程序里控制台一直会输出log信息,我明明把输出到控制台的选项都关闭了啊 FLAGS_logtostderr = 0; //是否打印到控制台 FLAGS_alsologtostderr = 0; //打印到日志同时是否打印到控制台   (这里也要吐槽下,不明白为什么要有FLAGS_alsologtostderr,输出到控制台和输出到日志文件分别有一个变量控制不行么,两个变量控制同一个状态真的好么)。后来看了glog源码才发现google::InitGoogleLogging根本不控制什么东西啊, void InitGoogleLogging(const char* argv0) { glog_internal_namespace_:

Linux 终端及终端登录过程简介

…衆ロ難τιáo~ 提交于 2019-12-05 22:35:35
Linux 终端及终端登录过程简介 shell是系统的用户界面,它提供了用户与内核交互的接口。它接收用户输入的命令并把它送入内核执行,再将执行结果显示给用户。 Linux终端使用基础: 显示器和键盘合称为终端,因为它们可以对系统进行控制,所以又称为控制台(物理控制台)。如果在一台计算机上用软件的方法实现了多个互不干扰、独立工作的控制台界面,就是实现了多个虚拟控制台。用户以文本方式登录的话,用户通过键盘输入命令,通过Linux终端对系统进行控制。通常情况下,Linux默认启动6个虚拟终端(tty1~6)。如果启动方式选择直接启动X Window,那么X Window在第7个虚拟终端上。 假设用户现在处于图形界面下,虚拟控制台的选择可以通过按下Ctrl+Alt键和功能键Fn(n=1~6)来实现。例如,用户登录后,按Ctrl+Alt+F2组合键,用户又可以看到“login:”提示符,此时看到的是第二个虚拟控制台。如果此时再按Alt+F1组合键,就可以回到第一个虚拟控制台。 虚拟控制台使得Linux成为一个真正的多用户操作系统。在不同的控制台上,可以同时接受多个用户登录,也允许一个用户进行多次登录。用户可以在某一个虚拟控制台上的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。 在X Window图形操作界面中按Alt+Ctrl+Fn组合键(n=1~6)就可以进入控制台字符操作界面

控制台 定时器写法

佐手、 提交于 2019-12-05 16:40:37
原文链接: http://www.cnblogs.com/25miao/p/7942137.html using System; using System.Timers; namespace DaoChuCore2 { class Program { static void Main(string[] args) { System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(TimeEvent); // 设置引发时间的时间间隔 此处设置为1秒(1000毫秒) aTimer.Interval = 1000; aTimer.Enabled = true; Console.WriteLine("按回车键结束程序"); Console.WriteLine(" 等待程序的执行......"); Console.ReadKey(); } private static void TimeEvent(object source, ElapsedEventArgs e) { Console.WriteLine("进入定时监控程序......"); // 得到 hour minute second 如果等于某个值就开始执行某个程序。 DateTime date1 =

C++控制台闪回;编译器警告C4305,C4244

懵懂的女人 提交于 2019-12-05 09:50:52
这是我以前解决问题时,收集在印象笔记里的内容,为了以后整理方便,把它转移至这里。以下内容,均来自微软官方网站相关。 问题:C++控制台闪回 解决办法: 1,在程序结尾添加system("pause");[若有return语句则写在return之前] 解析:system(const char *command); system函数返回给定的命令字符串command进行系统调用。如果命令执行正确通常返回零值。如果command为NULL,system()将尝试是否有可用的命令解释器。如果有返回非零值,否则返回零值。 system是执行dos下面的一些命令,在DOS下能执行的指令,用system都可以执行。把dos的命令直接放到它的参数里面就可以执行,用户随意敲一个键后程序继续运行。 pause 它会提示“请按任意键继续……”,pause命令没有任何的参数,它的命令就是它的本身,当pause命令运行后,会中断执行语句。这个中断不是立即停止,只是暂停,按下任意键之后就会继续执行下面的语句。而且可以重复用很多次,在一个批处理命令中,可以尝试使用多个pause命令。 2,在程序结尾添加get char();[若有return语句则写在return之前] 解析:get char()函数从STDIN(标准输入)获取并返回下一个字符,如果到达文件尾返回EOF。这种方法是直接让程序运行get

如何在.NET Core控制台程序中使用依赖注入

放肆的年华 提交于 2019-12-05 04:13:09
原文: 如何在.NET Core控制台程序中使用依赖注入 背景介绍 # 依赖注入(Dependency Injection), 是面向对象编程中的一种设计原则,可以用来减低代码之间的耦合度。在.NET Core MVC中 我们可以在 Startup.cs 文件的 ConfigureService 方法中使用服务容器 IServiceCollection 注册接口及其实现类的映射。 例如,当我们需要访问Http上下文时,我们需要配置 IHttpContextAccessor 接口及其实现类 HttpContextAccessor Copy public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>(); } 那么当我们编写一个.NET Core控制台程序的时候,我们该如何使用依赖注入呢? 使用内置依赖注入 # 在.NET Core中,内置依赖注入模块使用的程序集是 Microsoft.Extensions.DependencyInjection

Linux中tty、pty、pts的概念区别

与世无争的帅哥 提交于 2019-12-04 05:39:35
基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。 2> pty(虚拟终端): 但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty) 3> pts/ptmx(pts/ptmx结合使用,进而实现pty): pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。 Linux终端: 在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种: 1、串行端口终端(/dev/ttySn) 串 行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等

Java 流(Stream)、文件(File)和IO

。_饼干妹妹 提交于 2019-12-03 09:50:39
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。 Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。 但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。 读取控制台输入 Java 的控制台输入由 System.in 完成。 为了获得一个绑定到控制台的字符流,你可以把 System.in 包装在一个 BufferedReader 对象中来创建一个字符流。 下面是创建 BufferedReader 的基本语法: BufferedReader br = new BufferedReader ( new InputStreamReader ( System . in ) ) ; http://www.jinnan411.top/?p=1376 从控制台读取多字符输入 从 BufferedReader 对象读取一个字符要使用 read() 方法,它的语法如下: int read ( ) throws IOException 每次调用 read() 方法,它从输入流读取一个字符并把该字符作为整数值返回。

Windows平台上运行Tomcat

跟風遠走 提交于 2019-12-03 09:35:15
  从之前的学习中知道,可以调用Bootstrap类将Toomcat作为一个独立的应用程序来运行,在Windows平台上,可以调用startup.bat批处理文件来启动Tomcat,或运行shutdown.bat批处理文件来关闭Tomcat,这两个批处理文件位于%CATALINA_HOME%/bin目录下,下面将会对批处理脚本进行介绍,如果你对DOS命令不太熟悉,那么你需要认真阅读下面的,如何编写批处理文件这个段落, 如何编写批处理文件   下面将会对批处理文件进行介绍,这样你才能理解用来启动或者关闭Tomcat的批处理文件,会对 rem、if、 echo、goto、lable等命令进行介绍,当然,介绍的内容并不能涵盖所欲偶的内容,    首先批处理文件的后缀名必须为 .bat, 可以从Windows Explorer 中双击一个批处理文件,也可以在DOS控制台中键入批处理文件的名字来调用它,调用批处理文件后,文件中的每一行命令都会被解释,下面将会对Tomcat的批处理文件命令进行介绍。    注意:DOS命令及环境变量是区分大小写的,    rem命令:该命令用于注释,解释器不会执行以rem命令开始的行   pause:pause命令用于暂停正在执行的批处理文件,并提示用户按某个键,然后程序会继续执行。   echo:该命令用于在DOS控制台上显示一段文件,例如

VS的中文乱码问题

人盡茶涼 提交于 2019-12-03 07:49:20
中文乱码的原因 : 1. 中文在不同编码格式下 , 存储的方式不一样 . 2. 如果程序是 A 编码方式编译运行的 , 但是控制台却是以 B 编码方式来显示 , 就会出现乱码 . 3. vs 的控制台默认编码是 GB2312, 编号号是 836 注意 :GBK 编码是兼容 GB2312 的 , 一般描述 GBK 常常就是指 BG2312 如果源代码文件的编码如果是其他编码格式 , 就会导致中文乱码 . 正常场景 : 在 vs 中新建文件时 , 该文件默认都是 GB2312 编码 . 因为控制台默认也是 GB2312 编码 , 所以一般情况下 , 都不会出现中文乱码 . 错误场景 : 1. 直接在项目中导入了其他已经创建好的源代码文件 , 如果该文件不是 BG2312 编码 , 而且含有中文的话 , 就必定会出现中文乱码 . 2. 从其他文件中复制代码到 vs 的文件中 , 也可能导致编码错乱 . 3. 网络编程中 , 和服务器交互通信 , 两端的编码很可能不同 . 我们的 ” 黑客攻击系统 ” 的服务端木马 , 就是 UTF-8 编码格式的 . 解决方案一 : 修改文件的编码 修改源代码文件的 ” 编码格式 ”, 使其和控制台的编码格式保持一致 . 控制台的编码格式默认是 936 代码文件的编码格式 , 可以通过 vs 很方便的修改 : 先用 vs 打开对应的文件 , 然后如下操作