time.h> void LogWrite(char * logText,char *string); #endif /* __LOG_H__ */ 测试文件 既然有了log输出功能,下面就简单测试一下:...; return 0; } 以上代码很简单,不在过多解释。
代码如下: #include #include #include #include #include #include #include #include int main(int argc
今天在服务器上调试程序,发现win03的服务器在查看apache输出日志的时候灰常麻烦,想到linux下系统的命令 tail就可以实时查看输出日志,于是找了下,还真有人写了个win下的tail:http...://www.kuaipan.cn/file/id_12834302878348914.htm 后来想了想,自己用python写一个也不麻烦,权当练手于是有了下面的代码: #coding=utf-8 '...2: print 'illegal params' else: filename = sys.argv[1] timer(filename) 代码不是很严谨...,有兴趣的自己扩展 运行方法: 把该py文件放到你要统计的日志文件所在目录,然后运行:python xxx.py logs.log(×nux系统注意权限) 为了方便测试,自己写了一个不断写文件的代码,主要是每隔
-name '*.pm' | grep -v .svn) 可以看的出来,ack诞生的目的就是要取代grep,从作者开发的初衷以及它官网的名字,另外它还有一个“可以替代99%grep的工作”这个口号。...安装 ubuntu下要安装ack-grep,因为在debian系中,ack这个名字被其他的软件占用了。...为源代码搜索而设计,用更少的击键完成任务。 非常轻便,移植性好。 免费且开源 better than grep? 先来看下grep的日常用法。...ack功能划分 在记忆的时候大体上可以分为这几个部分: Searching代码搜索 Search output搜索结果处理 File presentation文件展示 File finding文件查找...hello' # 包含的文件名 ack-grep -L 'print' # 非包含文件名 File presentation 输出的结果是以什么方式展示呢,这个部分有几个参数可以练习下
本文记录一个非常实用的工具,有了它,我们可以在几秒之内用 VS Code 打开 GitHub 上的任意一个 Repo,无需 Clone,速度飞快,在线VS code 看代码神器。...github 在 github 仓库看代码总是不很方便 此处打开 mmocr 仓库: https://github.com/open-mmlab/mmocr 看代码神器 在 github 仓库地址上稍加修改
以下关于fork()的描述来自于:jason314 首先,在Linux环境下,一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。... count++; } printf("Now count = %d\n", count); return 0; } 总结:API与系统调用并不是一一对应的关系(Linux...陈政/arc001 原创作品转载请注明出处 《Linux内核分析》MOOC课程
打开运行(快捷键win+R)--cmd,输入下面代码: for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do
1024; a.bit_length() # 11 #-- repr和str显示格式的区别 """ repr格式:默认的交互模式回显,产生的结果看起来它们就像是代码...其他对象如果非空,则为真 # 通常意义下的类型分类:1. 数字、序列、映射。 2....__doc__) # 输出类的文档字符串 #-- 命名惯例: """ 以单一下划线开头的变量名(_X)不会被from module import*...0, 0] lists = [[]] * 3 # 多维数组,结果为[[], [], []],但有问题,往下看...往下看 lists = [[] for i in range(3)] # 多维数组,结果为[[], [], []] lists
从linux源码看epoll 前言 在linux的高性能网络编程中,绕不开的就是epoll。...由于篇幅所限,笔者聚焦于tcp协议下socket可读事件的源码分析。 简单的epoll例子 下面的例子,是从笔者本人用c语言写的dbproxy中的一段代码。由于细节过多,所以做了一些删减。...(注:受限于寄存器数量的限制,(80x86下的)kernel限制系统调用最多有6个参数。...(注:由于是tcp socket,所以这边sock->ops=inet_stream_ops,这个初始化的过程在我的另一篇博客linux源码看socket的阻塞和非阻塞>>中,博客地址如下: https...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐^_^。
本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。...由于篇幅所限,笔者聚焦于tcp协议下socket可读事件的源码分析。 简单的epoll例子 下面的例子,是从笔者本人用c语言写的dbproxy中的一段代码。由于细节过多,所以做了一些删减。...(注:受限于寄存器数量的限制,(80x86下的)kernel限制系统调用最多有6个参数。...源码看socket的阻塞和非阻塞>>中,博客地址如下: https://my.oschina.net/alchemystar/blog/1791017) 既然知道了tfile->f_op->poll的实现...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐_。
这里推荐郭神的《第一行代码》,不过书中关于UI,界面方面的说的比较少。 俗话说:Don't BB, show me the code....于是去看看官方文档关于UI的代码例子http://developer.android.com/intl/zh-cn/samples/ui.html 官方提供的源代码可以下载之后导入Android Studio...开始 现运行一下代码,看看界面是什么样子,如下图所示: ? 可以大致看到主要分了上下两个模块,上面主要是个TextView,下面就是我们要看的tab。...继续看SlidingTabsBasicFragment对象 SlidingTabsBasicFragment对象的onCreateView方法: @Override public View onCreateView...在layout下添加一下custom_tab.xml <?xml version="1.0" encoding="utf-8"?
下面就记述下病毒的发现、清理和认识过程,一路下来可以给我们的Linux命令学习提供很多知识点。这里面大部分操作都在生信宝典的Linux系列教程有提及,也是我们常用的提高效率的方式。...看到这个提示后,登录服务器,top一下: ? 发现两个进程sysupdate和networkservice,看名字,还以为是Linux系统什么时候学会Windows的自动升级了。...谷歌一下,确实是。 ? 下一步就是去定位病毒。 首选运行locate sysupdate,发现找不到文件。...(find是个好工具,具体使用见文后链接) 下面重点分析下update.sh,根据病毒入侵后的操作,学习下Linux系统命令的使用。 破坏安全防护 病毒第一步是尝试关闭SELinux子系统。...SELinux是安全增强型 Linux(Security-Enhanced Linux),它是一个Linux内核模块,也是Linux的一个安全子系统。主要由美国国家安全局开发。
在windows系统下运行下面的代码可以正常运行但到了linux下,出现段错误通过gbd调试检测到是fwrite出现的问题(段错误提示在代码下面)通过打断点检测也确实是fwrite将数据写入流的时候不能写入出现的段错误
Git的由来 为了更加便捷的管理linux的代码,Torvalds在直到 2005 年 4 月, 一直使用 BitKeeper(BK)管理着一个庞大的 Linux 内核源码,这些源码来自于完全不同的志愿者开发团队...从 Torvalds 的声明 到 Linux 邮件列表,都是关于他计划利用一个工作“假期”来决定如何为 Linux 找到新的 VCS,很明显,他喜欢 BK,并对 Linux 不能再使用它而感到沮丧,而且他对竞争并不敢兴趣...张三迫不及待地就去找老师让老师帮他看看写的怎么样,张三觉得应该没问题,可是这个老师很喜欢挑刺,就对张三说:写的什么东西啊,这不对,那不对,字体,行间距全不对,就让张三回去再好好修改一下,于是张三就赶紧回去改把改...3.如何再Linux下使用Git 3.1 安装 要使用git就必须先安装git才行,下面是安装指令: sudo yum install -y git 安装完后检查是否安装成功: git version...你又是一个爱好写代码的程序员,在公司写了一天不过瘾,回家还想写,可是你在公司的代码都在本地啊,这时候提前把代码推送到云端就很重要了,在家把云端的代码一拉,又可以写代码了。
Linux下编译安装源代码无非就是三个步骤,./configure,make,make install 第一步进入源代码的目录 运行命令 1 ..../configure --prefix=安装目录 --target=目标平台 上面这两个是最基本的,有些源代码的安装需要好几十个参数,具体就只能参考具体的说明了。 ....make的使用 一般情况下,只需要直接用make即可,但是有时候,生成的Makefile文件中并没有指定C编译器或者C++编译器,那么就需要手动指定了,不然就有可能出现编译错误。
隐藏引用就不是指针 并且很多例子,参数传递和构造函数,看很多八股文, 到底一样不一样,课本上没有说,很模糊,不分配怎么操作。 直觉,感觉上判断,肯定有,如果没有。...操作引用,最后变成操作引用对象,神奇魔法 不存在 ra++ === (*pa)++ 小心求证1- 看汇编 代码:https://godbolt.org/z/xrcobvar3 从汇编角度看 指针和引用变量初始化产生汇编代码是一样的...【都是三行】 代码: int a = 3; int &ra = a; int b = 4; int *pa = &b; 汇编: int a = 3; int &ra = a; 012E33F8 mov...的地址放入 eax 012E340F mov dword ptr [pa],eax ,//最后把 eax 的值放入地址为 [pa] 的内存 从汇编的角度来看,引用是通过指针来实现的 代码...在一些特殊的情况下,我们可以使用右值的引用,并对右值进行修改。
一、Linux基本命令 i=1; while [ i -le 100 ]; do echo “hello world” i >> text.txt ; i = 首先我们介绍一下这个语句,这是一个循环语句...cat -s只显示一行空行 12、more指令 more的作用类似于cat,但是它不会让信息全部打印,它只会打印刚好占满一个屏幕的信息,然后按回车可以向下查看 因为cat会将整个文件全部展开,这非常不适合看一些大文档...③less可以进行分页显示 less [选项][文件] 选项 作用 -i 忽略搜索时的大小写 -N 显示每行的行号 打开时和more差不多,但是可以上下键浏览文本 当我们处在less模式下,...date -s进行操作系统的时间设定,更改整个操作系统的时间 date +%s 可以看unix时间戳 date -d@num,num是某个数字,测算从1970年1月1日经过num秒所对应的时间...我们只需要记住几个组合就行 组合 作用 -czf 打包压缩 -tzf 预览 -xzf 解压 tar为打包后缀,gz为压缩后缀,tgz为打包压缩后缀,它可以直接进行多个文件打包压缩 20、bc指令 bc指令的作用就是召唤Linux
,进入到Linux版的RabbitMQ下载页面中 7、找到Download下的 rabbitmq-server-generic-unix-3.7.16.tar.xz下载链接并点击,开始进行下载RabbitMQ...三、把下载好的RabbitMQ 和 Erlang上传到Linux服务器上 1、打开WinSCP,把我们下载好的RabbitMQ 和 Erlang安装包,上传到Linux的 /mnt/ 文件目录下...2、使用putty连接到我们的Linux服务器,进入到/mnt/ 文件目录中,并解压上传的RabbitMQ 和 Erlang安装包 [root@localhost ~]# cd /mnt/ //...rabbitmq_management //开启web管理界面插件 3、设置RabbitMQ开机启动 [root@localhost sbin]# vim /etc/rc.d/rc.local 添加如下代码到...PID file not written; -detached was passed. 5、在浏览器的地址栏中输入你 服务器的ip地址:15672,即可访问RabbitMQ的管理登录界面,例如我的Linux
注意:只有ls就只显示文件名 2.pwd指令 语法 : pwd 功能 :显示用户当前所在的目录 Linux中所有路径分隔符是“/” Windows下是“\” 3.cd指令 Linux...系统下常用的命令,经常用来备份文件或者目录。...在 more 的时候,我们并没有办法向前面翻, 只能往后面看 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容...head指令 head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块, head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾...Linux 下 find 命令提供了相当多的查找条件,功能很强大。由于 find 具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
一、安装At 取决于不同的发行版,at在你的 Linux 系统中可能有,也可能没有。 如果at没有被安装,你可以很容易地使用你发行版的软件包来安装它。...例如,想要创建一个任务,运行脚本: /home/linuxize/script.sh: at 09:00 -f /home/linuxize/script.sh 默认情况下,这个命令会产生输出,一旦任务完成...at 09:00 -m 三、batch命令 batch或者它的关联at -b预定任务并且在系统负载允许的情况下,批量执行任务。默认情况下,当系统平均负载在1.5以下的时候,任务将会被执行。...下面是一个例子: at -t 202005111321.32 五、指定队列 默认情况下,由at创建的任务被计划在命名为a的队列,并且由batch创建的任务被计划在b队列。...默认情况下,仅仅/etc/at.deny文件存在,并且是空的,这意味着所有用户可以使用at命令。如果你想禁止某一个用户的权限,将他的用户名添加到这个文件中。
领取专属 10元无门槛券
手把手带您无忧上云