为您找到搜索结果:3415个
Centos7 可执行程序自定义为系统服务
systemctl的使用相比以往系统服务的/etc/init.d的启动脚本的方式变动也比较大,但变的更简单更易用了,同firewalld一样,运行原理一目了然,对于初学者来说,只要做过一两次练习,就能适应各种生产环境。1、systemctl用法:systemctl[OPT]COMMAND[NAME]…启动服务:systemctlstartNAME.service停止服务:systemctlstopNAME.service重启服务:systemctlrestartNAME.service服务状态:systemctlstatusNAME.service条件式重启,已启动才重启,否则不作操作:systemctltry-restartNAME.service重载或重启服务,先加载再启动:systemctlreload-or-restartNAME.service重载或条件式重启:systemctlreload-or-try-restartNAME.service禁止自动和手动启动:systemctlmaskNAME.service取消禁止:systemctlunmaskNAME....
Web API 源码剖析之默认消息处理程序链之路由分发器(HttpRoutingDispatcher)
我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的只读属性)。本节将讲述DefaultHandler(是一个HttpMessageHandler的只读属性)。在WebAPI里默认是的一个HttpRoutingDispatcher类型,它继承于HttpMessageHandler。我们称之为路由分发器。它主要作用就是将处理从HttpServer传递过来的请求。然后再将请求传递给HttpControllerDispatcher,它继承于HttpMessageHandler。我们称之为控制器分发器。路由分发器的处理流程规则是如下:首先是从请求获取路由数据,若没有,执行2;从全局路由配置里获取路由数据。若没有,执行3;否则添加到请求路由字典里,以备本次请求的其他地方使用。此时,路由数据仍然为空或者路由数据的默认消息处理程序包括StopRoutingHandler,则提示,停止查找,则判路由失败,返回到UI。否则执行4此时是否有默认消息处理程序,没有则调用HttpControllerDispatcher。然后执行消息委托调用,将请求转发给HttpControl...
使用VS+VisualGDB编译调试Linux程序
阅读目录配置虚拟机创建Demo编辑与调试参考资料Linux程序开发变得越来越多,越来越多的程序、产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要。但是对于习惯了Windows下的开发,使用了VS这个宇宙第一IDE后,觉得Linux下的纯命令行开发调试,还是有些不习惯,效率有些低(大神除外)。那么能不能用VS来开发调试Linux程序呢,经过各种查找,找到了VisualGDB这个神奇的插件,通过VS+VisualGDB就可以编译调试Linux程序。下面我们来看一下创建demo的过程吧。配置虚拟机VisualGDB支持Linux的原理是,通过ssh连接到Linux系统上通过ssh给linux下达命令,具体原理不多说,看官网。既然需要Linux系统,而VS又是Windows系统,那么就需要一台虚拟机。使用VMware或者VisualBox都可以。首先要配置好网络,主机和虚拟机可以互相Ping通。然后清除防火墙即可iptables-F创建Demo配置好环境后,就可以开始创建Demo了 编辑与调试 ...
定位程序集
使用<probing>元素运行时通过探测的方法来查找没有基本代码的程序集。 有关探测的更多信息,请参见运行时如何定位程序集。可以在应用程序配置文件中使用 <probing> 元素,来指定在查找程序集时运行时应搜索的子目录。 下面的示例说明如何指定运行时应搜索的目录。 <configuration><runtime><assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1"><probingprivatePath="bin;bin2subbin;bin3"/></assemblyBinding></runtime></configuration>privatePath 特性包含运行时应在其中搜索程序集的目录。 如果应用程序位于C:ProgramFilesMyApp,那么运行时将在C:ProgramFilesMyAppBin、C:ProgramFil...
博客园的神回复,程序猿的奇葩神回复[连载][二]
在上一篇(博客园的神回复,一起看看那些IT男的神回复[连载][一])中(ps: 这篇博客之所以改名是因为这次的神回复里有程序媛,所以用IT男不太合适),博客园神回复还是挺受欢迎的,上一篇博客的神回复取材均来自博问区,在这篇博客中,应了上一篇博客园友的强烈推荐(在这里也感谢rsync和_nil两位园友的推荐),在闪存中逛了好几遍,引入了闪存的一些神回复。当然,毕竟我不是所有的时间都focus在收集这个上面,而且这种类型的博客也没什么技术含量,所以也只是平常自己在闲逛的过程中收集一部分,图大家一乐,缓解一下紧张的工作和学习压力而已。如果大家在平常类似的神回复,可以@我,可以自荐或者他荐。v博客背景 这里只是搜集了一些我平常在博问看到的神回复,真正属于博客园这个大家庭自己的神回复。如果大家在博客园其他地方看到了可以私信我,或者直接更新在评论里,我会更新在这篇博客中,这篇博客将会作为连载博客,不停的更新博客园中的神回复,让大家感受到在代码之余的欢乐。为了让更多的人知道,我们IT人也有可爱的一面。另外以下神回复部分,所见即所得,排名不分先后,将持续更新,让欢乐发酵。v博问部分怎么卖系...
IntelliJ IDEA 配置运行程序
IntelliJIDEA对于Javaer开发来说还是很nice的,就是第一次用可能配置项有点生疏,这里就记录一下IntelliJIDEA配置运行程序。 1.点击EditConfig... 2.点击Configure... 然后设置本地Tomcat路径 3.点击Deployment,然后点击+按钮,在弹出框里选择启动项。(ps:图中工程名均已打码处理),选中启动项点击弹出框的"OK"按钮。Applicationcontext可以设置每次打开的默认路径 4.给你的这次设置起个名字 5.点击绿色三角即可运行,旁边的小虫子按钮是debug ...
java 程序从linux 上接收不可见字符
近期在写一个简单的小java程序,希望在运行java程序时,从shell中接收参数,并且参数的内容为不可见字符。开始时还觉得可以使用""之类的转义符来写,后来发现java程序从shell中接收参数时,根本就没有转义符这一说,直接接收到的就是string。例如执行以下命令java-jartest.jar如果java程序是将输入的信息打印屏幕,那么打印的内容将是"",而不是"换行"。 从网上找了很多资料,都没有发现能够解决shell传入不可见字符参数的解决方法,故用逆向思维想了:"是否可以用ascii输入代替不可见字符,然后在java中转义ascii的十进制内容"。 沿着这个思路在网上找资料,皇天不负有心人,java中对ascii十进制内容转义还是很简单的,下面贴一下代码publicclassTest{publicstaticvoidmain(String[]args){intt=Integer.parseInt(args[0]);System.out.println("**"+(char)t+"**");}}如果执行 java-jartest.jar65,&...
hadoop wordcount程序缺陷
在wordcount程序的main函数中,没有读取运行环境中的各种参数的值,全靠hadoop系统的默认参数跑起来,这样做是有风险的,最突出的就是OOM错误。自己在刚刚学习hadoop编程时,就是模仿wordcount程序编写。在数据量很小,作为demo程序跑,不会有什么问题,但当数据量激增,变成以亿计算时,各种问题都会出现。所以一定要在main函数中,增加下面的代码,让程序去读取环境配置文件,得到你希望要的参数。Configuration.addDefaultResource("hdfs-default.xml");Configuration.addDefaultResource("hdfs-site.xml");Configuration.addDefaultResource("mapred-default.xml");Configuration.addDefaultResource("mapred-site.xml");Configurationconf=getConf();...
boost 编译 asio 程序,简单socket 编程
自己第一次玩boost,对C++也非常不熟悉,记录一下自己的学习过程。安装编译boost包解压到/opt下tar-zxvf/media/C06EDE596EDE47B4/mnt/boost_1_55_0.tar.gz-C/opt首先执行生成b2的脚本/opt/boost_1_55_0/bootstrap.sh编译boost与安装/opt/boost_1_55_0/b2&&/opt/boost_1_55_0/b2install安装完成后,会在/usr/local/lib保存.so与.a文件,头文件则存放在/usr/local/include/boost/路径下参考文章:http://www.cnblogs.com/hcfalan/archive/2011/02/23/1962657.html这篇博文不会讲解代码和原理,只是简单记录学习步骤。#include<iostream>#include<boost/asio.hpp>usingnamespaceboost::asio;#defineBLOCK_SIZE64*1024intmain(intarg...
Console 程序在任务计划程序无法读写文件
当我们把Console程序作为Window计划任务的计划任务的操作的时候,我们明明设置了程序的执行权限或者文件夹的读写权限(尝试了所有权限,各种账号读写权限的切换都不好使),但是当我们有读写操作的时候,在exe程序的文件夹下手动执行可以创建文件,但是如果在Windows计划任务中执行则不会创建文件,这是什么原因呢? 原因就在于我们没有设置好“操作”,我们只设置了“程序或脚本”,但是没有设置“起始于(可选)”选项,因为这个是可选的,所以很多人认为这个选项是多余的,是的,如果只需要执行.exe文件,如果不需要读写操作是不需要设置,但是如果Console程序在Windows计划任务中要读写文件就一定要设置“起始于(可选)”这个选项,这个选项就是设置.exe程序的文件根目录。如下面的设置: ...
hibernate的第一个程序
#建表语句createdatabasehibernate;usehibernate;createtableuser(idintprimarykey,namevarchar(30)notnulldefault'',desvarchar(100)notnulldefault'')charsetutf8; User.hbn.xml数据表字段与javaBean的属性对应关系<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><classname="com.henau.demo1.User"table="user"><idname="id"type="int"><columnname="id"></...
struts2框架的第一个程序
helloworld.jsp在base目录下<ahref="${pageContext.request.contextPath}/base/HelloWorldAction.action">有命名空间测试</a><br/><ahref="${pageContext.request.contextPath}/HelloWroldAction.action">无命名空间测试</a><br/> struts.xml的配置在src根目录<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!--package1、为包,能方便进行action的管理2、属性name:代表包的名称主要用于继...
按键中断驱动的应用程序
#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<stdio.h>/*thirddrvteston*/intmain(intargc,char**argv){intfd;unsigned char key_val;fd=open("/dev/buttons",O_RDWR);//这个 "/dev/xxx" 后面不能有空格if(fd<0){printf("can'topen!");}while(1){read(fd,&key_val,1);printf("key_val=0x%x",key_val);}return0;} ...
按键驱动应用程序
#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<stdio.h>intmain(intargc,char**argv){intfd;unsigned char key_vals[4];intcnt=0;fd=open("/dev/buttons",O_RDWR);//这个 "/dev/xxx" 后面不能有空格if(fd<0){printf("can'topen!");}while(1){read(fd,key_vals,sizeof(key_vals));if(!key_vals[0]||!key_vals[1]||key_vals[2]||key_vals[3]){printf("%04d keypressed:%d%d %d %d",cnt++,key_vals[0],key_vals[1],key_vals[2],key_vals[3]);}}return0;} ...
点亮led驱动程序(应用测试部分)
#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<stdio.h>/*Firstdrvteston*Firstdrvtestoff*/intmain(intargc,char**argv){intfd;intval=1;fd=open("/dev/xyz",O_RDWR);//这个"/dev/xxx" 后面不能有空格if(fd<0){printf("can'topen!");}if(argc!=2){printf("Usage:");printf("%s<on|off>",argv[0]);//linux里面尖括号表示尖括号不能省略return0;}if(strcmp(argv[1],"on")==0){//点亮val=1;}else{//熄灭val=0;}write(fd,&val,4);return0;} ...